为什么在模块化导出的时候 export {name:'234'}这样不可以呢?
一定要var a = {name: '234'} export {a}才可以呢
http://es6.ruanyifeng.com/#do...
{name:'123'}
是js
对象的语法,并不是es6
module
的导出语法 export
语法:export { a , b }
或者 export { a as c , b }
或者 export const a = 1
export default
是可以导出一个js对象的
export default {name:'123'}
import a from './xx.js'
console.log(a) // {name:'123'}
同样 import { a } from './xx.js'
这里 的大括号也不是 es6
的 解构
标准上写的一清二白的,链接,这个 ExportSpecifier 只能是 IdentifierName 或者 IdentifierName as IdentifierName 的形式,你提及的这个形式不符合这两者,因此不合法。这是规定,是标准,并不因个人喜好和意愿而改变。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
同楼上,意思是说,es6标准里面,导出只能作用在"标识名"上。也就是变量名或者常量之类的。
export {a: 1};
这样后面的{a: 1},这个对象是叫"字面量"。和标识名是不同的东西。