javascript高级程序设计阅读收获(8.4.2)——类构造函数

本文探讨了JavaScript中的类构造函数,包括constructor关键字的作用,即在类定义时创建构造函数。当使用new实例化类时,会执行一系列操作,如创建新对象并设置其[[Prototype]]。同时,类在本质上是一种特殊函数,可作为参数传递,也可立即实例化。需要注意的是,不使用new调用类构造函数会导致错误,而类中定义的constructor方法在使用instanceof时不会返回true。
摘要由CSDN通过智能技术生成

1.constructor关键字

  1. constructor关键字用于在类定义块内部创建类的构造函数。
  2. 方法名constructor会告诉解释器在使用new操作符创建类的新实例时,应该调用这个函数。
  3. 构造函数的定义不是必需的,不定义构造函数详单与将构造函数定义为空函数。

2.实例化

  1. 使用new操作符实例化Person的操作等于使用new调用其构造函数。
  2. JavaScript解释器知道使用new和类意味着应该使用constructor函数进行实例化。
  3. 使用new调用类的构造函数会执行如下操作。
    (1)在内存中创建一个新对象。
    (2)这个新对象内部的[[Prototype]]指针被赋值为构造函数的prototype属性。
    (3)构造函数内部的this被赋值为这个新对象。
    (4)执行构造函数内部的代码。
    (5)如果构造函数返回非空对象,则返回该对象;否则,返回刚创建的新对象。
class Person{
   
	constructor(name){
   
		console.log(arguments.length);
		this.name = name || null;
	}
}

let p1 = new Person;//0
console.log(p1.name);//null

let p2 = new Person();//0
console.log(p2.name);//null

let p3 = new Person('Jake');//1
console.log(p3.name);//Jake
  1. 类实例化时传入的参数会用作构造函数的参数,如果不需要参数,则类名后面的括号也是
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子 旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值