class中的构造器到底是啥意思

class中的构造器到底是啥意思

class Student {

constructor(name){

this.name = name

}

}

以及,为什么要this.name = name


回答:

面试题: new 的时候都发生了什么?


你需要知道 new 怎么使用?

你需要理解 public、private 的区别。对照回去就是 Array.isArray 和 array.prototype.forEach

constructor 就是当做初始化函数来说,一般创建一个对象的时候都会传入一些配置,比如说id啊之类的。

至于为什么用 this,这是因为 class 本身操作的就是原型链这些逻辑。把数据放在了原型链。
于之对应的是闭包。


回答:

构造器,或者构造函数,你可以当做是一个特殊的方法,实例化的时候会调用该方法。至于this,你可以当做作用域上下文。
你这里完整的含义是,实例化对象的时候,传入name参数,即赋值给name属性。

实例化对象:
const s = new Student('student name')
通过实例化对象取值:
s.name

没有class支持之前,类也是一个函数而已,所以class的写法你也可以看做是一种语法糖。

function Student(name){

this.name=this.name;

}

如果将这里的Student视作一个类的话,构造函数就是这个函数本身,而this即使该函数的作用域上下文。

如果结合JavaScript的原型链来理解的话,会好很多,建议你先去看看相关的基础。


回答:

构造器就是利用类来构造实例时调用的类函数,是实例化类是默认调用的一个特殊函数。

只所以要用this.name因为构造后的实例属性name应该与实例绑定,这里就是利用this来绑定的。

以上是 class中的构造器到底是啥意思 的全部内容, 来源链接: utcz.com/p/937369.html

回到顶部