JS 小技巧
关于 JS 的一些总结, 持续更新中……
1、用??代替||,用于判断运算符左侧的值为 null 或 undefined 时,才返回右侧的值
??运算符是 ES2020 引入,也被称为 null 判断运算符( Nullish coalescing operator)
它的行为类似||,但是更严
||运算符是左边是空字符串或 false 或 0 等 falsy 值,都会返回后侧的值。而??必须运算符左侧的值为 null 或 undefined 时,才会返回右侧的值。因此 0||1 的结果为 1,0??1 的结果为 0
const response = {
settings: {
nullValue: null,
height: 400,
animationDuration: 0,
headerText: "",
showSplashScreen: false,
},
};
const undefinedValue = response.settings.undefinedValue ?? "some other default"; // result: 'some other default'
const nullValue = response.settings.nullValue ?? "some other default"; // result: 'some other default'
const headerText = response.settings.headerText ?? "Hello, world!"; // result: ''
const animationDuration = response.settings.animationDuration ?? 300; // result: 0
const showSplashScreen = response.settings.showSplashScreen ?? true; // result: false