问题标签 [optional-chaining]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 是否有可用于设置属性的可选链接的建议
使用可选链接分配变量?以类似于可选链接的方式询问有关设置属性的问题,例如foo?.bar?.baz?.quux = 'quux'
.
我想更具体地问一下,是否有正在实施的提案(我在https://github.com/tc39/proposals上没有看到),如果没有,这是否是由于最初的提议出于某种原因拒绝了这个想法。
javascript - 为什么可选链在我的 Node REPL 中不起作用?
我从MDN复制粘贴的示例代码,但可选链接在我的节点(v12.13.0)REPL 中不起作用。抛出一个语法错误,指出问号后面的点无效。这是怎么回事 ?我已经在 React App 中使用过这个表达式,它似乎工作正常。
javascript - Google Apps 脚本 - 抛出 ParseError 的可选链接
为什么 google Apps Script 不支持最新的 javascript 功能,例如可选链接,即使它运行在 Chrome V8 上?使用可选链接时,clasp 会引发错误。
GaxiosError: Syntax error: ParseError: Unexpected token .
清单文件中已经提到了运行时环境appsscript.json
:
reactjs - 即使使用 react-script 3.4.3,CRA 可选链接也不起作用
即使使用 react-script 3.4.3,可选链接在 CRA 中也不起作用,例如
modelClass.withId(payload.modelRef.id)?.delete();
引发以下错误:
Expected an assignment or function call and instead saw an expression no-unused-expressions
依赖项:
我正在使用 CRA 的 Redux 模板。有什么解决办法吗?
javascript - JavaScript 可选链 (?.) 运算符是如何工作的?
我正在研究新的 JS 可选链接?.
运算符。它可以帮助我们避免出现这样的错误,
你可以写
没有错误。如果对象中undefined
没有命名属性,它将返回。现在,这适用于 (.) 运算符的第一级。但如果我尝试这样的事情,b
obj
这是抛出一个错误,
但如果我写,
它再次返回未定义。不应该回来Uncaught TypeError: obj.b.c is undefined
吗?
这是一些实施差距还是我在这里遗漏了什么?提前致谢。
现在已经解决了。@Ifaruki 的评论有正确的解释。
更新:它称为“链接”运算符。它从左向右移动。如果它看到?如果未定义,它会检查左值。如果是,则返回未定义并停止向右移动。这意味着如果 b 已经未定义,它将不会检查右侧的值
typescript - getElementById 的类型检查仅适用于可选链接,不适用于类型检查
在尝试向折线图添加渐变时,我需要将其作为画布。在继续画布之前,我添加了一个类型检查,但是 Vetur 说“对象可能是 'null'.Vetur(2531)”
经过研究,我尝试使用可选的链接运算符进行类型检查。这种方法有效,因为没有报告错误。
我对为什么第一种方法不起作用感到困惑,因为 canv 是一个常量,因此不能改变。类型检查应该足够了。
为什么在这种情况下只有可选链接起作用?