我喜欢Ruby的||=机制.如果变量不存在或是nil,则创建它并将其设置为等于:
amount # is nil
amount ||= 0 # is 0
amount ||= 5 # is 0
Run Code Online (Sandbox Code Playgroud)
我现在需要在JavaScript中做类似的事情.什么是惯例或正确的方法来做到这一点?我知道||=语法不正确.处理它的两种明显方法是:
window.myLib = window.myLib || {};
// or
if (!window.myLib)
window.myLib = {};
Run Code Online (Sandbox Code Playgroud) 该代码为何起作用:
if (list?.Any() == true)
Run Code Online (Sandbox Code Playgroud)
但是这段代码没有:
if (list?.Any())
Run Code Online (Sandbox Code Playgroud)
说错误CS0266无法隐式转换类型“布尔”?“布尔”
那么,为什么不是语言功能在if语句中进行这种隐式转换呢?