关注大师姐不迷路,大师姐带你上高度~
前言
关注大师姐不迷路,大师姐带你上高度~
面向对象开发中有句话是万物皆对象,所以程序员最不缺的就是对象,每天要new出来很多对象,那么这些对象的关键字new做了什么呢?又起了哪些作用呢?
什么是new关键字?
在 TypeScript 中,new
关键字用于创建类的实例,其核心行为与 JavaScript 一致,但结合 TypeScript 的类型系统和类特性会涉及更多细节。
详解
1. 创建新对象
new
会创建一个全新的空对象,并将其作为this
上下文传递给类的构造函数。- 示例:
new Person()
会生成一个空对象,后续通过构造函数初始化属性。 - 引用代码中的类:
class Person {
name: string = 'lnj'; // 构造函数中初始化的属性
}
const p = new Person(); // p 是 Person 的实例对象
2. 绑定原型链
- 新对象的
[[Prototype]]
(即__proto__
)会指向类的prototype
属性。 - 示例:[Person](file://e:\web-school1\TypeScript\核心基础\25-类和接口.ts#L19-L26) 类的 [say](file://e:\web-school1\TypeScript\核心基础\25-类和接口.ts#L23-L25) 方法定义在
prototype
上,实例p
通过原型链继承该方法。 - 引用代码中的方法:
Person