簡體   English   中英

對 Object.defineProperty 使用 1 和 0 而不是 true false

[英]using 1 and 0 instead of true false for Object.defineProperty

我在網上看到過這樣的代碼(簡化版):

    var abc = {}; 
    Object.defineProperty(abc, 'example', {
        enumerable: 0,
        configurable: 1,
        writable: 1,
        value: function() {}
    });

他們使用10代替truefalse 我更喜歡這種方法的簡單性,但我需要知道:

這種定義格式在瀏覽器之間是非標准的和不一致的嗎?應該避免,還是在生產級代碼中使用它是安全的?

它在您編寫的代碼中看起來更短,但在許多情況下,布爾值實際上更快。 你必須寫

if(writable===1){
...
}

代替

if(writable){
...
}

與使用問號相同,我發現在某些情況下非常好:

writable? doThisIfTrue : doThisIfFalse

這是我在網站上的第一個答案,我是一名初級開發人員,所以我希望它有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM