聊聊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中的可选 (?.)操作符的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

每天一个js 小demo之滑屏幻灯片。主要知识点:event

javascript中return的含义是什么

js中eval函数有什么用

详解javascript中async/await的使用方法

javascript怎么关闭当前窗口

javascript三目运算符有哪些

javascript中return的含义是什么

vue keep-alive组件的使用以及原理介绍

javascript的内部方法有什么

javascript的this的用法详解

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




打赏

取消

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

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

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

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

评论

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