问题描述
我在网络上看到过这样的代码(简体):
var abc = {};
Object.defineProperty(abc,'example',{
enumerable: 0,configurable: 1,writable: 1,value: function() {}
});
它们使用true
和false
代替1
和0
。我更喜欢这种方法的简单性,但是我需要知道:
此定义格式是否在浏览器中不规范且不一致,应该避免使用,还是在生产级代码中使用安全?
解决方法
在您编写的代码中看起来更短,但在许多情况下使用布尔值实际上更快。 你得写
if(writable===1){
...
}
代替
if(writable){
...
}
与问号的使用相同,在某些情况下我发现它确实很棒:
writable? doThisIfTrue : doThisIfFalse
这是我在网站上的第一个答案,我是一名初级开发人员,希望对您有所帮助!