3
是什麼在接口定義像函數之間的區別:打字稿:差異=>和:接口函數聲明
interface IMyInterface1 {
functionName(value: string): void;
}
和
interface IMyInterface2 {
functionName: (value: string) => void;
}
是什麼在接口定義像函數之間的區別:打字稿:差異=>和:接口函數聲明
interface IMyInterface1 {
functionName(value: string): void;
}
和
interface IMyInterface2 {
functionName: (value: string) => void;
}
有沒有真正的區別就在這裏,你可以使用哪一個你感覺更舒適。
有了這樣說,我考慮的第一個暗示一個類的方法,而第二個是它是一個功能的部件:
class MyClass1 implements IMyInterface1 {
functionName(value: string): void {}
}
class MyClass2 implements IMyInterface2 {
functionName = function(value: string): void {}
}
這僅僅是一個個人喜好,編譯器將讓你做相反的好:
class MyClass1 implements IMyInterface1 {
functionName = function(value: string): void {}
}
class MyClass2 implements IMyInterface2 {
functionName(value: string): void {}
}
以類似的方式,這兩個符號是相同的:
let obj1 = {
functionName() {}
}
let obj2 = {
functionName: function() {}
}
因爲它們都編譯爲:
var obj1 = {
functionName: function() { }
};
var obj2 = {
functionName: function() { }
};
[Function property vs method]的可能重複(https://stackoverflow.com/questions/39156315/function-property-vs-method) –