foo的三元简写?foo:bar
Ternary shorthand for foo ? foo : bar
我意识到我大部分时间都在使用三元运算符,如下所示:
foo ? foo : bar;
这变得很麻烦,因为可变长度变得很长,例如
appModel.settings.notifications ? appModel.settings.notifications : {};
有什么速记法或更优雅的方法吗?也许是ES6
还是ES7
?
你可以这样写:
var foo = foo || {};
appModel.settings.notifications = appModel.settings.notifications || {};
你也可以累积
options = default.options || foo.options || bar.options || { foo:'bar'};
您可以简单地使用非位布尔运算符:
foo || bar;
在检查零值时,我们现在可以使用逻辑零赋值:
foo ??= bar
请看这个答案,了解无效和错误之间的区别。
//these statements are the same for nullish values (null and undefined):
//falsy check
foo = foo ? foo : bar;
//falsy check
foo = foo || bar;
//nullish check
foo ??= bar;
我们也可以在这里使用in
,它可能更人性化,而且永远不会阻塞。
notifications in appModel.settings || {}
相关文章:
- jQuery"return{foo:bar,foo2:bar2}"-它是什么
- javascript getElementsByClassName("foo"||"bar
- JS:将字符串“foo[bar]”转换为代码 obj.foo.bar 的简单方法
- 速记 if/else 语句 : foo?foo:bar vs foo ||酒吧
- can.routing :触发从 #!/foo/bar 到 #!/foo 的更改
- 聚合物 - 有人可以解释一下聚合物中使用的this.$.foo.bar JavaScript语法
- Difference between "if (foo) bar();" and "foo
- Boolean(foo.bar)和!!之间的区别是什么!!foo.bar
- JS-import'中@的含义@foo/bar'
- foo的三元简写?foo:bar
- Scala的写作方式'foo[“bar”]'JavaScript
- 为什么 foo: { bar: 10} 在 Chrome 控制台中执行时打印 10 |Javascript
- 检查多个空值的最佳方法是什么?例如if(foo.bar.giz.mo.)X === 123)
- 什么是(foo?bar:fobar)||xyz;在javascript中执行
- 如何访问json对象值时的关键字像'foo$bar'
- 在es2015中,' const func = foo =>Bar '使' func '成为一个命名函数,你如何绕过它
- AngularJS, UI路由器-导航到"foo/bar"去“foo"”
- javascript中的多个函数调用,如combine(foo)(bar)
- 为什么带参数的嵌套路由(/:foo/:bar)不渲染?
- Catch "警告:[react-router] Location '/foo-bar'没有匹