Web/18-前端面试/11-01.ES6:模块化的使用和编译环境.md

87 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 前言
### ES6的主要内容
- 模块化的使用和编译环境
- Class与JS构造函数的区别
- Promise的用法
- ES6其他常用功能
本文来讲“模块化的使用和编译环境”。
### 面试常见问题
- ES6 模块化如何使用,开发环境如何打包
- Class 和普通构造函数有何区别
- Promise 的基本使用和原理
- 总结一下 ES6 其他常用功能
### ES6的现状
- 开发环境已经普及使用
- 浏览器环境却支持不好(需要开发环境编译)
- 内容很多,重点了解常用语法
- 面试:开发环境的使用 + 重点语法的掌握
## 模块化的基本语法
1util1.js
```javascript
export default var a = 100;
export function foo {
console.log('util1-foo');
}
```
`export default`命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出。
有了默认输出之后其他模块加载该模块时import命令可以为该匿名变量/函数,起**任意的名字**。
上面的代码中,默认输出是一个变量。当然,我们也可以换成**默认输出一个匿名函数**
```javascript
export default function() {
console.log('util1-function');
}
```
2util2.js
```javascript
export var myUtil2 = 'this is util2';
export function fn1() {
console.log('util2-fn1');
}
export function fn2() {
console.log('util2-fn2');
}
```
上方代码中,我把一个变量和两个函数作为了导出。
3index.js