这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.
Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.
主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.
此外,这是PHP符号引用的公然副本.我们需要一个JS.
请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接
我最近在Swift编程了很多.今天,当我遇到问题时,我在JavaScipt做了一些工作:
是否有类似于JavaScript中的可选链接?一种防止undefined is not an object没有任何变量的方法?
例:
function test(){
if(new Date() % 2){
return {value: function(){/*code*/}};
}
}
test().value();
Run Code Online (Sandbox Code Playgroud)
将失败一半的时间因为有时会test返回undefined.
我能想到的唯一解决方案是功能:
function oc(object, key){
if(object){
return object[key]();
}
}
oc(test(), 'value');
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这样的事情:
test()?.value()
Run Code Online (Sandbox Code Playgroud)
问号后面的部分仅在test返回对象时执行.
但这不是很重要.还有更好的东西吗?运营商的神奇组合?
编辑我知道我可以重写test以返回一些东西.但我想知道是否有类似可选链接的东西.我对上面例子的特定解决方案不感兴趣.如果无法控制返回undefined的函数,我也可以使用的东西.
javascript ×2