// 问题1: 请问一下, Demo类实例方法的两种写法(写法1 和 写法2)有什么不同吗? 实际场景中用的是哪一种?
// 问题2: 另外在接口中也有类似的这两种写法, 也帮忙解释一下?
class Demo {
x_point: number;
y_point: number;
constructor(x_ponit_: number, y_ponit_: number) {
this.x_point = x_ponit_;
this.y_point = y_ponit_;
}
// 实例方法——写法1(类似匿名函数表达式写法)
getDistance1 = (x: number, y: number): number => {
return Math.pow(x - this.x_point, 2) + Math.pow(y - this.y_point, 2);
};
// 实例方法——写法2(类似命名函数写法)
getDistance2(x: number, y: number): number {
return Math.pow(x - this.x_point, 2) + Math.pow(y - this.y_point, 2);
}
}
const demo = new Demo(1, 2);
console.log(demo.getDistance1(3, 4));
console.log(demo.getDistance2(3, 4));
// 请问一下, Demo类实例方法的两种写法(写法1 和 写法2)有什么不同吗? 实际场景中用的是哪一种?
// 另外在接口中也有类似的这两种写法, 也帮忙解释一下?
interface AA {
x: number;
y: number;
getDistance: (x: number, y: number) => number;
}
interface BB {
x: number;
y: number;
getDistance(x: number, y: number): number;
}