博客
关于我
可选链操作符 ?.
阅读量: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,尤其当 config 或 config.db 不存在时。

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

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

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

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

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

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

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

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

你可能感兴趣的文章
Python:爬取数据出现response.status_code为418解决方法
查看>>
Python:生成“元组集“;来自“元组列表“;不考虑顺序
查看>>
Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等)
查看>>
Python:用渐进式数字重命名列表中的重复项而不对列表进行排序
查看>>
Python:矩形参数无效
查看>>
Python:语法进阶
查看>>
Python:调用复制函数时调用 Python 对象时超出了最大递归深度
查看>>
Python:这两个 import 语句有什么区别?
查看>>
Python:通过串口从 Velleman k8090 读取数据
查看>>
python:遍历具有列表值的字典
查看>>
Python:降低精度 pandas 时间戳数据帧
查看>>
python:非阻塞子进程,检查标准输出
查看>>
PythonABC多重继承
查看>>
Pythonargparse中的多个参数
查看>>
Python关于 *args 和 **kwargs 参数的详解(全)
查看>>
Pythonfrozenset散列算法/实现
查看>>
PythonGTK+3:通过单击列对树视图进行排序
查看>>
pythonnumpy生成二进制流_python/numpy生成的二进制文件,由C读取
查看>>
pythonsign函数_对python函数签名的方法详解 用python怎么写一个自签名证书
查看>>
PythonStudy
查看>>