Javascript 在import语句中分解赋值
根据这一点以及在某个项目中见过这种用法的模糊记忆,我很好奇是否有人能够做到以下几点:Javascript 在import语句中分解赋值,javascript,ecmascript-6,destructuring,es6-modules,javascript-import,Javascript,Ecmascript 6,Destructuring,Es6 Modules,Javascript Import,根据这一点以及在某个项目中见过这种用法的模糊记忆,我很好奇是否有人能够做到以下几点: import {map: { series }} from 'contra' 如本概述所述: ES6中的import语句的行为类似于解构,但是 需要注意的是,它实际上并不是在分解结构 看起来导入的工作方式有点不同,也许人们不能期望相同的确切行为,但我无法验证这一点的状态。我要做的是官方ECMAScript 6/7规范的一部分吗 在尝试回答此问题时,请包括(或链接)规范中澄清此问题的部分。您只能在分配变量时使用
import {map: { series }} from 'contra'
如本概述所述:
ES6中的import语句的行为类似于解构,但是
需要注意的是,它实际上并不是在分解结构
看起来导入的工作方式有点不同,也许人们不能期望相同的确切行为,但我无法验证这一点的状态。我要做的是官方ECMAScript 6/7规范的一部分吗
在尝试回答此问题时,请包括(或链接)规范中澄清此问题的部分。您只能在分配变量时使用分解分配。导入是完全不同的事情,您不能对它们使用解构赋值 相反,您可以通过直接调用
require()
来使用分解分配(假设您使用的是Node.js或RequireJS):
只有在分配变量时,才能使用分解分配。导入是完全不同的事情,您不能对它们使用解构赋值 相反,您可以通过直接调用
require()
来使用分解分配(假设您使用的是Node.js或RequireJS):
规范的相关部分如下所示 一个重要的声明是
导入
导入原因从句
如果您检查ImportClause,您将看到它只是熟悉的*作为Foo
,或DefaultImport
,或{ImportSpecifier,}
,其中ImportSpecifier是一个ImportBinding,它又是一个bindingIdentifier,它只是一个普通的旧标识符
MDN条目介于误导和完全错误之间。它应该说(现在确实说): ES6中的import语句表面上类似于解构,但实际上完全不相关
我发现越来越多的错误和误导性的信息在MDN这些天。这件事应该慎之又慎。权威参考是规范。规范的相关部分是 一个重要的声明是
导入
导入原因从句
如果您检查ImportClause,您将看到它只是熟悉的*作为Foo
,或DefaultImport
,或{ImportSpecifier,}
,其中ImportSpecifier是一个ImportBinding,它又是一个bindingIdentifier,它只是一个普通的旧标识符
MDN条目介于误导和完全错误之间。它应该说(现在确实说): ES6中的import语句表面上类似于解构,但实际上完全不相关
我发现越来越多的错误和误导性的信息在MDN这些天。这件事应该慎之又慎。权威参考是规范。MDN条目介于误导和完全错误之间。它应该说,“ES6中的导入声明表面上类似于解构,但实际上完全不相关。”@torazaburo:甚至可能只是“简写命名的导入声明…”MDN条目介于误导和完全错误之间。它应该说,“ES6中的导入语句表面上类似于解构,但实际上完全不相关。”@torazaburo:甚至可能只是“简称为导入声明…”
const {map: { series }} = require('contra')