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