Javascript ES6类中的构造函数和原型中的构造函数有什么区别?
ES6类和函数原型都有一个Javascript ES6类中的构造函数和原型中的构造函数有什么区别?,javascript,class,constructor,prototypal-inheritance,es6-class,Javascript,Class,Constructor,Prototypal Inheritance,Es6 Class,ES6类和函数原型都有一个构造函数,但我想知道它们是否相同?让我再解释一下 因此,我创建了一个Cat函数,例如: const Cat = function (name) { this.name = name; }; Cat具有以下原型: 如果我键入smth,此构造函数可能会丢失。比如Cat.prototype={},但新猫('Name')将继续工作。 Ang我们在ES6中有以下语法: class Dog { constructor(name) { this.na
构造函数
,但我想知道它们是否相同?让我再解释一下
因此,我创建了一个Cat函数,例如:
const Cat = function (name) {
this.name = name;
};
Cat具有以下原型:
如果我键入smth,此构造函数
可能会丢失。比如Cat.prototype={}代码>,但新猫('Name')代码>将继续工作。
Ang我们在ES6中有以下语法:
class Dog {
constructor(name) {
this.name = name;
}
}
该类还具有构造函数
,它看起来就像一个简单的函数。既然类只是原型继承上的一个语法sygar,那么Dog类中的构造函数与Cat函数中的构造函数是相同的还是不同的概念
既然类只是原型继承上的一个语法糖糖,那么Dog类中的构造函数是否与Cat函数中的构造函数相同
是的,构造函数与原型的关系仍然是一样的
不过也有一些区别,例如Dog.prototype
是不可写的,Dog
只能用new
调用