Javascript typescript中类和对象之间的差异
有人可以解释typescript中类和对象的区别Javascript typescript中类和对象之间的差异,javascript,typescript,ecmascript-5,Javascript,Typescript,Ecmascript 5,有人可以解释typescript中类和对象的区别 class greeter{ Name: string; Sayhello(){ console.log("hello") } } 在我用这个之前 var greeter = { Name : "", Sayhello: function sayhello(){ console.log("hello"); } } 这取决于你。这两种类型都是有效且惯用的TypeScript: clas
class greeter{
Name: string;
Sayhello(){
console.log("hello")
}
}
在我用这个之前
var greeter = {
Name : "",
Sayhello: function sayhello(){
console.log("hello");
}
}
这取决于你。这两种类型都是有效且惯用的TypeScript:
class Greeter {
name: string;
sayHello() {
console.log("hello")
}
}
及
如果你不需要这个课程,就不要使用它们
但如果您想:
- 导出类型定义
- 使用依赖项注入管理您的依赖项
- 单元测试你的代码
- 使用多个实例
- 使用多态性
您应该花一些时间阅读中的类,因为详细回答您的问题相当于写几章书,特别是在为TypeScript定制时。请花时间将问题中的代码正确格式化,请注意,TypeScript和JavaScript都是区分大小写的语言。如果你不能费心把问题弄清楚和正确,为什么其他人要费心把它回答清楚和正确呢?好的,你收到的答案回答了问题开头的问题,所以我去掉了结尾的离题答案。(注意:SO是一个非常活跃的地方,请不要问也不要跑。留下来,这样你就可以在回答问题时澄清你的问题。)在示例1中:
(新迎宾员)。Name
是一个字符串在示例2中:迎宾员。Name
是一个字符串他们不一样。你的回答暗示了一些我确信你知道是不正确的事情:他们做了同样的事情。他们没有,你可能想澄清他们每个人都做了什么(因为我认为OP对此感到困惑)。“导出类型定义”-你能澄清这一点吗?变量声明也有一个类型,因此您可以编写表示它的定义。否。我的回答并不意味着他们做同样的事情。恰如其分,它意味着如果您需要实例、DI、测试、导出类型、多态性,您可以使用其中一个,如果您不使用另一个。@DavidHerret是的,您是对的,您可以执行export var greeter
并将显式类型绑定到文字对象。你不能做的是有一个抽象类型,比如说另一种实现了greeter类型的“种类”greeter。
var greeter = {
name : "",
sayHello: () => {
console.log("hello");
}
}