问题标签 [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.
typescript - TypeScript 3.7.2 - 当前未启用对实验性语法“optionalChaining”的支持
在我的项目中,我使用的是应该支持可选链接的 TS 3.7.2。但是当我尝试这样使用它时:const state = urlParams.state?.toString()
我收到错误:
当前未启用对实验性语法“可选链”的支持
将 @babel/plugin-proposal-optional-chaining ( https://git.io/vb4Sk ) 添加到 Babel 配置的“插件”部分以启用转换。
我检查了发行说明,并没有看到有关为该功能添加 tsconfig 选项的任何要求。
我想知道当我已经在使用 TS 时是否需要 babel 插件和配置,我应该如何修复错误?
javascript - 在本地主机上工作但不在生产环境中的可选链接运算符
我不确定这是我做错了什么,还是我错过了一些东西,但我已经在?.
我的 create react 应用程序的某些部分添加了可选链接。IE
这适用于我的 Mac 上的 chrome 本地主机,也适用于 Safari 中的 Xcode ios 13 iPad 模拟器,但是当我使用部署 firebase 应用程序时
应用程序崩溃说这customFieldName
是未定义的,在某些情况下它将是数组 customFields 将为空/null,但我会注意我的回退到“自定义字段”字符串设置为默认值。
所以我的问题是为什么可选的链接?.
代码在本地主机中工作而不是在部署中?我已经检查过该浏览器正在加载最新版本,它是。
我也知道可选链接?.
是一项新功能,因此可能不适用于所有浏览器,尤其是旧版本。
我将不胜感激任何帮助。
我认为将来可能无法知道代码在开发/本地主机中工作时是否真的在生产中工作。
swift - 如果第一个类型失败,则可选向下转换为另一种类型
我有一个类型的代表类UIViewController
这个委托可以是 UIViewController 的 2 个子类之一。两个子类都包含一个具有相同名称且参数相同的方法。
目前我正在写这样的声明,当然它有效,但从 DRY 的角度来看,它让我发疯。
我想做类似的事情
但是上面实际上并没有降低委托,因为我收到一个错误,即 UIViewController 类型不包含“方法”
如果第一个向下转换失败,我还能如何链接它,第二个被尝试并且委托被视为任一类型而不是基数UIViewController
?
javascript - 如何将可选链接与数组或函数一起使用?
我正在尝试使用带有数组而不是对象的可选链接,但不知道如何做到这一点:
这就是我想要做的myArray.filter(x => x.testKey === myTestKey)?[0]
。还尝试使用函数进行类似的操作:
但它给出了这样的错误,所以如何将它与数组或函数一起使用。
javascript - JavaScript 可选链动态属性
我正在尝试访问具有安全性的动态属性,该安全性由TS 中可用的可选链接提供。但是,这似乎是无效的。
错误
似乎可选的更改将应用于[]
作为类型的可选,但不适用于内部的值。
我怎样才能使这个可选而不必这样做[undefined || someDefaultValue]
?
reactjs - 支持 nx.dev 中的可选链接和无效操作
在第一步我添加
"typescript": "~3.7.5"
然后我添加
"prettier": "1.19.1"
它应该已经足够了,但我仍然收到这个错误:
'optionalChaining' 当前未启用
所以我尝试添加
"react-scripts": "3.3.0"
和
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3"
"@babel/plugin-proposal-optional-chaining": "^7.8.3"
但问题仍然存在,我是在我的普通CRA应用程序中完成的,但我不知道如何更改nx.dev配置中的babel预设列表。
javascript - 如何使 webpack 接受没有 babel 的可选链接
设想:
- 我们正在使用 webpack 4 从我们的 Javascript 源代码创建一个包。
- 我们没有使用 Babel,因为我们只为单一平台(最新的 Chrome)创作,而且我们只使用 Chrome 中直接可用的功能,因此不需要转译。
这样做的好处是捆绑包更小,开发时周转时间更快。
现在我们想开始使用第4 阶段的 可选链接功能,该功能可以在 Chrome 中使用 flag 启用。
我试过用谷歌搜索这个,我能找到的只是babel 有一个插件。
问题:有什么方法可以让 webpack 在省略 babel 的同时接受这种语法?
以下是 webpack 当前报告的内容:
javascript - 是否有可选链接/无效合并的糖以防止 Typeerrors 说 Array.map?
是否有任何糖可以确保 map 不会使用可选链接/ nullishcoalescing 之类的工具出现类型错误?
typescript - 带有 TypeScript 3.7 可选调用的“no-unused-expressions”
我将 TypeScript 3.7 与@typescript-eslint/parser
linting一起使用@typescript-eslint/eslint-plugin
。
我正在尝试使用可选链接语法,它在可选调用旁边工作得很好。
这给了我一个错误:eslint(no-unused-expressions)
有什么方法可以让它与可选调用一起工作?