将JavaScript原语分配给它们的命名等效变量,如"常量"

Tri*_*tan 17 javascript qtip

我正在查看qTip 2的源代码并看到以下内容:

// Munge the primitives - Paul Irish tip
var TRUE = true,
   FALSE = false,
    NULL = null;
Run Code Online (Sandbox Code Playgroud)

我无法想出你应该这样做的理由,并且有一种强烈的感觉,它只会鼓励不良的编码习惯.假设开发人员在Yoda条件下输入错字if (TRUE = someCondition()),然后TRUEfalse可能最终意味着,或者您最终可能会分配someObjectNULL.

我想我只是想知道这种做法是否有一些赎回的质量,我错过了,或者这只是一个普通的Bad Idea™

CMS*_*CMS 16

这个目的只是为了改善压缩,保罗爱尔兰人称之为"反模式".

他在下面的演示文稿中将其描述为"适用于压缩和范围链遍历":

在作用域链的遍历,我们将不会看到有关文本的任何改进null,false,true,因为范围链不检查,他们只是文字.

在其他标识符上undefinedwindows范围链遍历确实已经过检查.

Paul Irish Anti-patterns幻灯片55