gpt4 book ai didi

typescript :接口(interface)函数声明中 => 和 : 的区别

转载 作者:搜寻专家 更新时间:2023-10-30 20:35:55 25 4
gpt4 key购买 nike

在接口(interface)中定义函数有什么区别:

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 () { }
};

关于 typescript :接口(interface)函数声明中 => 和 : 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45624452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com