我是否总是需要 运行 一个像 javascript (ES5) 中的 class 一样工作的函数?
Do I always need to run a function that works like a class in javascript (ES5)?
我正在寻找 Typescript 的操场,看到这个 class 声明:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
转换为此 ES5 代码:
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
}());
在 EcmaScript5 中,我是否总是需要 运行 一个像 和 class 一样工作的函数?或者是因为 protoype.greet
在初始匿名函数中?
来自MDN:
JavaScript classes introduced in ECMAScript 6 are syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax is not introducing a new object-oriented inheritance model to JavaScript. JavaScript classes provide a much simpler and clearer syntax to create objects and deal with inheritance.
是的。您总是需要 运行 一个像 class.
一样工作的函数
我正在寻找 Typescript 的操场,看到这个 class 声明:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
转换为此 ES5 代码:
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
}());
在 EcmaScript5 中,我是否总是需要 运行 一个像 和 class 一样工作的函数?或者是因为 protoype.greet
在初始匿名函数中?
来自MDN:
JavaScript classes introduced in ECMAScript 6 are syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax is not introducing a new object-oriented inheritance model to JavaScript. JavaScript classes provide a much simpler and clearer syntax to create objects and deal with inheritance.
是的。您总是需要 运行 一个像 class.
一样工作的函数