對于初學者來說,學習 JavaScript 時最容易走進的一個誤區就是把 new 當成普通的關鍵字,其實不然。因為 new 是一個關鍵字,但是它的作用卻非常獨特,可以幫助我們在 JavaScript 中實現類似于其他面向對象編程語言的 “實例化” 操作,便于我們更好地創建對象。
具體來說,我們可以通過 new 操作符來實例化一個函數,使其成為一個對象。舉個例子,我們可以定義一個計算器對象:
function Calculator() { // ... }
注:這個時候的 Calculator 就是一個函數,而不是對象。
然后我們可以使用 new 操作符來實例化 Calculator,創建一個新的對象:
const calc = new Calculator();
這時計算器就成為了一個對象,它可以調用 Calculator 中的方法:
calc.add(2, 3); // 5 calc.subtract(5, 2); // 3
當我們使用 new 關鍵字時,JavaScript 引擎會自動執行以下步驟:
- 創建一個空對象,該對象會繼承構造函數的原型。
- 將該對象作為 this 變量傳遞給構造函數。
- 執行構造函數的代碼。
- 返回該對象。
需要注意的是,new 操作符一般只能用于構造函數上,即函數名首字母大寫的那些函數。它的語法規則如下:
const obj = new Constructor([arguments]);
其中,Object 是構造函數,obj 是通過構造函數創建出來的對象,arguments 是傳遞給構造函數的參數。
希望通過以上內容的說明,你能夠掌握 new 操作符的作用以及它的用法。
下一篇css樣式壓縮怎么恢復