知识点小合集

可选链操作符

可选链操作符(?.):允许开发者在访问对象的属性或调用方法时,安全地处理nullundefined值,以防止抛出错误。这个操作符的语法形式是?.,它可以代替传统的访问操作符.

【应用场景】

  1. 访问对象属性:当不确定某个属性是否存在时,可以使用可选链安全地访问它。如果属性不存在,则表达式会短路返回undefined,而不会抛出错误。

  2. 访问数组元素:当不确定数组或数组元素是否存在时,同样可以使用可选链来安全地访问数组元素。

  3. 调用方法:当尝试调用一个可能不存在的方法时,也可以使用可选链。如果方法不存在,则表达式会返回undefined,而不是抛出一个异常。

【例】假设有一个可能不存在的对象parentForm,我们想要检查它的status属性是否等于1,可以使用可选链操作符来安全地访问status属性:

if (parentForm?.status === 1) {
  // 如果parentForm存在且status属性等于1,则执行这里的代码
}

在这个例子中,如果parentFormnullundefined,则parentForm?.status会立即返回undefined,而不会抛出错误。然后,undefined === 1的结果为false,因此if语句内的代码不会执行。这样就实现了对parentForm对象及其status属性的安全访问。

空值合并运算符

空值合并运算符(??):用于为可能是nullundefined的表达式提供一个默认值,当你尝试从一个可能是nullundefined的变量中获取值时,空值合并运算符会检查这个变量的值。如果这个变量的值是nullundefined,那么运算符会返回它右边的值作为默认值。否则,它会返回变量本身的值。

【例】

const foo = null ?? 'default string';
console.log(foo); // 输出: "default string"
 
const bar = false ?? 'default string';
console.log(bar); // 输出: false(因为false不是null或undefined,所以返回bar本身的值)
 
const baz = 0 ?? 42;
console.log(baz); // 输出: 0(因为0不是null或undefined,所以返回baz本身的值)
 
const qux = undefined ?? 'default string';
console.log(qux); // 输出: "default string"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值