我从网络调用类型为String
的变量中读取了一个变量:
const someName = data.someName
我想使用该变量构造一个String
,并在它为null
时为其分配一个默认值。是否有内联或速记方式?
const someString = "You received something from " + someName
我喜欢模板文字。也许您可以将其与三元运算符结合使用,以得到具有null
或undefined
值的默认值。
尝试以下操作:
const data = {};
const someString = `You received something from ${data.someName ? data.someName : 'your default value'}`;
console.log(someString);
在此处进一步阅读:
我希望有帮助!
TypeScript 3.7 introduced support代表proposed JavaScript "nullish coalescing operatior" ??
。语法看起来像??
,并且计算结果为someName ?? defaultValue
,除非它是someName
或null
,在这种情况下,其计算结果为undefined
。 (因此,“空”表示defaultValue
或null
。)这是一个undefined
,因此,如果short-circuiting operator不为空,则someName
不会被求值。
在TypeScript 3.7之前,您始终可以使用defaultValue
获得相似的结果:ternary operator。
但是如果您不特别关心someName != null ? someName : defaultValue
和null
,并且不介意使用默认值(如果undefined
是任何someName
值(例如空字符串falsy),那么您可以使用""
:the logical "or" operator,这也会短路。
其中任何一个都应该为您工作。好的,希望能有所帮助;祝你好运!
someName || defaultValue