Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中空值赋值(非null、未定义等)的目的是什么_Javascript - Fatal编程技术网

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
会抛出一个错误。好吧,这对我来说确实澄清了很多。我在修改这段代码的过程中发现了大量的
黑客行为。如果这是他们用来避免正确传递
这个
的另一个黑客,我也不会感到惊讶。非常感谢。