ES6 import和export中的 { } 是什么?

发布于 2022-09-13 00:33:21 字数 283 浏览 9 评论 0

// 导出
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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

铁轨上的流浪者 2022-09-20 00:33:22

模块声明语法,类似于区块作用域的代码块。

ま昔日黯然 2022-09-20 00:33:21

可以这么方便理解: export后面只能跟 “变量、函数、类 等的声明语句”和“简写表达式”以及default语句
第一种写法: 第一种写法是export 后面跟的是声明语句的“简写表达式”, 和他等价其实是:

export let name = 'lxx' // 这就是个声明语句
export let age = 18
export let height = 1.88

第二种写法: export后面跟着的个对象“值”, 他不是“简写表达式”, 更不是声明语句. 如果想要让第二种方法不报错, 只需要在export 后面加上 default 关键词就可以了. 或者改成声明语句

念﹏祤嫣 2022-09-20 00:33:21

只是语法有点像定义object的一个东西
https://developer.mozilla.org...

九公里浅绿 2022-09-20 00:33:21

前者叫命名导出(Named Export),后者叫对象解构(Object Destruct)

语法上看起来都跟声明一个字面量对象似的,其实不是一回事儿,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文