📌  相关文章
📜  如果在 JavaScript 中为 null 或 undefined,如何替换值?(1)

📅  最后修改于: 2023-12-03 15:24:59.215000             🧑  作者: Mango

如果在 JavaScript 中为 null 或 undefined,如何替换值?

在 JavaScript 中,null 和 undefined 通常都表示某个变量或者属性并没有被初始化或者赋值,这种情况可以用一些技巧来避免问题的出现。

一、使用逻辑运算符

使用逻辑运算符 ||?? 可以快速替换 null 或 undefined:

let foo = null;
let bar = undefined;

let result1 = foo || 'default';
let result2 = bar ?? 'default';

console.log(result1); // 'default'
console.log(result2); // 'default'

以上例子中,使用 || 运算符时,如果 foo 的值为 null 或 undefined,那么 result1 将会被赋值为 'default';使用 ?? 运算符时,如果 bar 的值为 null 或 undefined,那么 result2 将会被赋值为 'default'。

二、使用三元运算符

使用三元运算符 ?: 可以进行更加复杂的条件判断:

let foo = null;

let result = (foo === null || foo === undefined) ? 'default' : foo;

console.log(result); // 'default'

以上例子中,使用三元运算符时,如果 foo 的值为 null 或 undefined,那么 result 将会被赋值为 'default';否则,result 的值将会被赋值为 foo 的值。

三、使用默认参数

可以在函数声明时给参数指定默认值,从而防止出现 null 或 undefined:

function myFunc(foo = 'default') {
  console.log(foo);
}

myFunc(); // 'default'
myFunc(null); // null

以上例子中,使用默认参数时,如果函数调用时不传递参数,那么 foo 的值将会被赋值为 'default';如果函数调用时传递的参数为 null,那么 foo 的值将会被赋值为 null。

四、使用对象解构

可以使用对象解构来防止出现 null 或 undefined:

let obj = { foo: null };

let { foo = 'default' } = obj;

console.log(foo); // 'default'

以上例子中,使用对象解构时,如果 obj 中属性 foo 的值为 null 或 undefined,那么 foo 的值将会被赋值为 'default'。

总的来说,为了避免 null 或 undefined 带来的问题,可以采用以上方法进行处理。