微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用1和0代替Object.defineProperty的true false

如何解决使用1和0代替Object.defineProperty的true false

我在网络上看到过这样的代码(简体):

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

它们使用truefalse代替10。我更喜欢这种方法的简单性,但是我需要知道:

此定义格式是否在浏览器中不规范且不一致,应该避免使用,还是在生产级代码中使用安全?

解决方法

在您编写的代码中看起来更短,但在许多情况下使用布尔值实际上更快。 你得写

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

代替

if(writable){
...
}

与问号的使用相同,在某些情况下我发现它确实很棒:

writable? doThisIfTrue : doThisIfFalse

这是我在网站上的第一个答案,我是一名初级开发人员,希望对您有所帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。