聊聊JavaScript中的可选 (?.)操作符


当前第2页 返回上一页

1

2

console.log(user.homeaddress.country);

// 中国

访问不存在的属性:

1

2

console.log(user.officeaddress.country);

// throws error "Uncaught TypeError: Cannot read property 'country' of undefined"

改用 ?. 访问不存在的属性:

1

2

console.log(user.officeaddress?.country);

// undefined

方法

访问存在的方法:

1

console.log(user.getFirstName());

访问不存在的方法:

1

2

console.log(user.getLastName());

// throws error "Uncaught TypeError: user.getLastName is not a function";

改用 ?. 访问不存在的方法:

1

2

console.log(user.getLastName?.());

// "undefined"

数组

访问存在的数组:

1

2

console.log(user.hobbies[0].name);

// "敲代码"

访问不存在的方法:

1

2

console.log(user.hobbies[3].name);

// throws error "Uncaught TypeError: Cannot read property 'name' of undefined"

改用 ?. 访问不存在的数组:

1

2

console.log(user.dislikes?.[0]?.name);

// "undefined"

?? 操作符

我们知道 ?. 操作符号如果对象不存在,刚返回 undefined,开发中可能不返回 undefined 而是返回一个默认值,这时我们可以使用双问题 ?? 操作符。

有点抽象,直接来一个例子:

1

2

3

const country = user.officeaddress?.country;

console.log(country);

// undefined

需要返回默认值:

1

2

3

const country = user.officeaddress?.country ?? "中国";

console.log(country);

// 中国

英文原文地址:https://codingncoepts.com/javascript/optional-chaining-opeator-javascript/

作者:Ashish Lahoti

更多编程相关知识,请访问:编程入门!!

以上就是聊聊JavaScript中的可选 (?.)操作符的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

generator函数与async函数的区别介绍

javaweb与javascript区别是什么

javascript添加事件的三种方式

javascript算后端么

javascript如何删除array数组元素

javascript两种注释符号是什么

javascript字符串截取方法有哪些?

node.js 15正式版发布,将替代node.js 14成为当前的的稳定发行版

javascript模块化怎么理解?

json.parse()和json.stringify()的性能测试(示例)

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...