博客
关于我
可选链操作符 ?.
阅读量:585 次
发布时间:2019-03-11

本文共 867 字,大约阅读时间需要 2 分钟。

链式操作符(?.)在 JavaScript 中是 ES11 的新特性,用于在对象访问时提供一个“安全网”。如果某个属性不存在,则会返回 undefined,而不是抛出错误。这对于处理不确定性数据非常有用。

假设你有一个配置对象:

config = {  db: {    host: '192.168.20.60',    userName: 'liuy'  },  cache: {    host: '192.168.20.80',    userName: 'admin'  }}

在没有链式操作符的情况下,以下代码可能会因为 config.db.host 不存在而抛出错误:

function main(config) {  const dbHost = config.db.host;  console.log(dbHost);}main();

这可能导致应用程序�ashdown,尤其当 configconfig.db 不存在时。

使用链式操作符,可以更安全地访问对象属性:

function main(config) {  const dbHost = config?.db?.host;  console.log(dbHost);}main();

这样,无论 configconfig.db 还是 config.db.host 不存在,都不会抛出错误。它们都会返回 undefined。这在处理未知数据或可选配置时非常有用。

传统的方法可能会导致多次检查和复杂的条件语句,而链式操作符则简化了这种流程控制。即使不传入任何配置参数,也不会报错:

function main(config) {  const dbHost = config?.db?.host;  console.log(dbHost);}main();

这种写法更简洁易懂,适合处理复杂的对象嵌套结构,同时仍能保持应用程序的稳定性。

总之,链式操作符是 JavaScript 的一个强大工具,可以帮助你更安全地处理对象属性,减少错误和维护成本。

转载地址:http://heftz.baihongyu.com/

你可能感兴趣的文章
PHP
查看>>
Regular Expression Notes
查看>>
PHP $FILES error码对应错误信息
查看>>
PHP $_FILES函数详解
查看>>
PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
查看>>
php & 和 & (主要是url 问题)
查看>>
php -- 魔术方法 之 判断属性是否存在或为空:__isset()
查看>>
php -- 魔术方法 之 获取属性:__get()
查看>>
php -树-二叉树的实现
查看>>
PHP -算法-二路归并
查看>>
php 2条不一样 的json数据 怎么放在一个json里面_如果你是PHP开发者,请务必了解一下Composer...
查看>>
php 360 不记住密码,JavaScript_多种方法实现360浏览器下禁止自动填写用户名密码,目前开发一个项目遇到一个很 - phpStudy...
查看>>
regExp的match、exec、test区别
查看>>
php 404 自定义,APACHE 自定义404错误页面设置方法
查看>>
PHP 5.3.0以上推荐使用mysqlnd驱动
查看>>
php 7.2 安装 mcrypt 扩展: mcrypt 扩展从 php 7.1.0 开始废弃;自 php 7.2.0 起,会移到 pecl...
查看>>
php aes sha1解密,PHP AES加密/解密
查看>>
php CI框架单个file表单多文件上传例子
查看>>
php composer
查看>>
reflow和repaint引发的性能问题
查看>>