首頁 > web前端 > js教程 > 主體

何時避免立即實例化匿名類別?

Barbara Streisand
發布: 2024-10-20 12:05:02
原創
460 人瀏覽過

When to Avoid Immediate Instantiation of Anonymous Classes?

匿名類別的立即實例化:一個警告故事

在 ES6 中,可以定義匿名類別並立即實例化它們。雖然這種語法一開始看起來很吸引人,但了解它的陷阱以及為什麼通常應該避免它是至關重要的。

要直接實例化匿名類,我們使用以下語法:

var entity = new class {
    constructor(name) { this.name = name; }
    getName() { return this.name; }
}('Foo');
登入後複製

在幕後,這會導致為每個實例化創建一個新的建構子和一個原型物件。這意味著使用此方法建立的多個物件不會分享類別繼承或原型關係的任何好處。

此外,這種方法破壞了使用匿名類別建立單例物件的嘗試。仍然可以存取和利用建構函數來創建其他實例,從而否定預期的單例行為。

鑑於這些注意事項,強烈建議避免使用立即實例化的匿名類別。更簡單的物件文字提供了更有效率、更直接的替代方案:

var entity = {
    name: 'Foo',
    getName() { return this.name; }
};
登入後複製

以上是何時避免立即實例化匿名類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!