Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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 零聚结_Javascript - Fatal编程技术网

Javascript 零聚结

Javascript 零聚结,javascript,Javascript,有没有一种方法可以为未声明的变量实现或应用空合并 a; a??'Text'//返回“Text” //期望 b??'Text'//应返回“Text”检查未定义变量的方法是检查它们是否具有未定义的类型: a; console.log(a | |“text”)//打印“text” console.log((typeof b!='undefined'&&b)| |'text')//还打印'text' 设c=‘其他文本’ console.log((typeof c!=“undefined”&&c)|

有没有一种方法可以为未声明的变量实现或应用空合并

a;
a??'Text'//返回“Text”
//期望

b??'Text'//应返回“Text”
检查未定义变量的方法是检查它们是否具有未定义的类型:

a;
console.log(a | |“text”)//打印“text”
console.log((typeof b!='undefined'&&b)| |'text')//还打印'text'
设c=‘其他文本’

console.log((typeof c!=“undefined”&&c)| |“text”)//打印“other text”
检查未定义变量的方法是检查它们是否具有未定义的类型:

a;
console.log(a | |“text”)//打印“text”
console.log((typeof b!='undefined'&&b)| |'text')//还打印'text'
设c=‘其他文本’

log((typeof c!=“undefined”&&c)| |“text”)//打印“other text”
对我来说似乎很清楚<代码>定义了一个,它只是“未定义”,是未分配值的占位符
b
未定义,实际上它在当前内存环境中不存在,因此会发生查找失败,并且您会看到由于未找到内存位置而导致的错误。如果要确定变量是否存在,您最好检查是否只定义了全局变量(使用
window.hasOwnProperty('varName')
(浏览器)或
global.hasOwnProperty('varName')
(节点))。此外,我个人不会赞成任何依赖于检查变量存在性的软件逻辑。对我来说似乎很清楚……
a
已定义,它只是“未定义”,未分配值的占位符。
b
未定义,实际上它在当前内存环境中不存在,因此发生查找失败,您会看到由于未找到内存位置而导致的错误。如果要确定变量是否存在,您最好能做的是检查是否只有全局变量a重新定义(使用
window.hasOwnProperty('varName')
(浏览器)或
global.hasOwnProperty('varName')
(节点))。此外,我个人不会赞成任何依赖于检查变量存在性的软件逻辑。但是如果定义了
b
,它的值会从表达式返回吗?我认为它不会正确!只是编辑了我的回答并添加了一个case来考虑一个positive case。但是如果定义了
b
,它的值会从表达式返回吗你能从这个表达中得到什么?我不认为这是正确的!只是编辑了我的回答并添加了一个案例来考虑一个积极的案例。