JavaScript中空值赋值(非null、未定义等)的目的是什么
我明白这一点:JavaScript中空值赋值(非null、未定义等)的目的是什么,javascript,Javascript,我明白这一点: let blah = null; let blah = undefined; let blah; 我不明白的是: let obj = {} // notice the empty value assignment and the assignment that immediately follows obj.blah = obj.blah = function(params) { // some code } 空赋值是
let blah = null;
let blah = undefined;
let blah;
我不明白的是:
let obj = {}
// notice the empty value assignment and the assignment that immediately follows
obj.blah =
obj.blah = function(params) {
// some code
}
空赋值是否与let obj.blah相同代码>?我在一些npm包中看到了这一点,其中键直接在同一个键的空值赋值下面提供一个值。以这种方式编写代码有特殊的目的吗?我正在重构一个包来简化它的使用,我不想因为我的无知而简单地删除它。任何帮助都将不胜感激。这相当于
obj.blah = ( obj.blah = function () {} );
绝对没有理由这么做。这不一样<代码>让obj.blah抛出一个错误该行绝对没有意义,您可以删除它。可能是以前版本代码中遗留的错误。@evolutionxbox,那么在这种情况下会发生什么呢?“我觉得完全迷路了,因为我一直找不到一个资源来解释这一点。”@JohnMontgomery,那么是编辑疏忽吗?明白了。发生这种情况的文件有几个。因此,在我看来这是故意的。
obj.blah=
可能是一个打字错误。这是毫无意义的。至于第一个赋值让obj={}
它是需要的,否则obj.blah
会抛出一个错误。好吧,这对我来说确实澄清了很多。我在修改这段代码的过程中发现了大量的黑客行为。如果这是他们用来避免正确传递这个
的另一个黑客,我也不会感到惊讶。非常感谢。