javascript 中 <code>constructor</code> 用法
<code>constructor</code> 是 JavaScript 中的一個內(nèi)置屬性,它指向創(chuàng)建對象的函數(shù)。它用于在創(chuàng)建對象時初始化對象的狀態(tài)。
語法:
<code>constructor</code>
登錄后復(fù)制
用法:
<code>constructor</code> 可用于以下目的:
- 獲取創(chuàng)建對象的函數(shù):
<code class="js">let obj = new Object(); console.log(obj.constructor); // 輸出:Object</code>
登錄后復(fù)制
- 創(chuàng)建新對象:
<code>constructor</code> 可以用作創(chuàng)建新對象的函數(shù):
<code class="js">class Person { constructor(name) { this.name = name; } } let person = new Person("John"); console.log(person instanceof Person); // 輸出:true</code>
登錄后復(fù)制
- 設(shè)置對象的原型:
<code>constructor</code> 可以用于設(shè)置對象的原型:
<code class="js">function Animal() {} function Dog() {} Dog.prototype = new Animal(); let dog = new Dog(); console.log(dog.constructor); // 輸出:Dog</code>
登錄后復(fù)制
注意事項:
<code>constructor</code> 是只讀屬性,不能被修改。
對于沒有顯式定義構(gòu)造函數(shù)的對象(例如通過對象字面量創(chuàng)建的對象),它們的 <code>constructor</code> 屬性指向 Object
函數(shù)。
ES6 中引入了類的概念,類中通常定義一個 <code>constructor</code> 方法,用于初始化類的實例。