ES6 import和export中的 { } 是什么?
// 导出
let name = 'lxx'
let age = 18
let height = 1.88
export { name, age, height }
// 报错
export {
name:name,
age:age
}
// 导入
import { name, age, height } from "./a.js"
报错的导出方式 说明 {} 不是一个对象,那么这里 export和import关键字后面的{} 到底是个什么东西?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
模块声明语法,类似于区块作用域的代码块。
可以这么方便理解: export后面只能跟 “变量、函数、类 等的声明语句”和“简写表达式”以及default语句
第一种写法: 第一种写法是export 后面跟的是声明语句的“简写表达式”, 和他等价其实是:
第二种写法: export后面跟着的个对象“值”, 他不是“简写表达式”, 更不是声明语句. 如果想要让第二种方法不报错, 只需要在export 后面加上 default 关键词就可以了. 或者改成声明语句
只是语法有点像定义object的一个东西
https://developer.mozilla.org...
前者叫命名导出(Named Export),后者叫对象解构(Object Destruct)。
语法上看起来都跟声明一个字面量对象似的,其实不是一回事儿,