TypeScript里的空值合并运算符(双问号)用法
生活随笔
收集整理的這篇文章主要介紹了
TypeScript里的空值合并运算符(双问号)用法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
當(dāng)左側(cè)操作數(shù)為 null 或 undefined 時,其返回右側(cè)的操作數(shù),否則返回左側(cè)的操作數(shù)。
例子:
const foo = null ?? 'default string';編譯后的JavaScript代碼:
var _a; var foo = (_a = null) !== null && _a !== void 0 ? _a : 'default string';可見,這個例子,foo必定為default string, 因為編譯后的JavaScript代碼里,已經(jīng)能看到null被顯式地賦給_a了。
空值合并運算符的短路用法:當(dāng)空值合并運算符的左表達式不為 null 或 undefined 時,不會對右表達式進行求值。
看個例子:
function A() { console.log('A was called'); return false;}function B() { console.log('B was called'); return false;}console.log(A() ?? B());生成的JavaScript代碼:
var _a; function A() { console.log('A was called'); return false; } function B() { console.log('B was called'); return false; } console.log((_a = A()) !== null && _a !== void 0 ? _a : B());執(zhí)行JavaScript,可見,??右邊的B表達式根本就沒有進行求值。
總結(jié)
以上是生活随笔為你收集整理的TypeScript里的空值合并运算符(双问号)用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 试简述分组交换的要点第七版_简单描述分组
- 下一篇: TypeScript里的工具类型Part