ES6知识点记录
0、es6开发环境搭建
建立工程目录:
先建立一个项目的工程目录,并在目录下边建立两个文件夹:src和dist
src:书写ES6代码的文件夹,写的js程序都放在这里。
dist:利用Babel编译成的ES5代码的文件夹,在HTML页面需要引入的时这里的js文件。
初始化项目
在安装Babel之前,需要用npm init先初始化我们的项目。打开终端或者通过cmd打开命令行工具,进入项目目录,输入下边的命令:
1 |
|
全局安装Babel-cli
1 |
|
本地安装babel-preset-es2015 和 babel-cli
1 |
|
根目录新建.babelrc
1 |
|
这个文件我们建立完成后,现在可以在终端输入的转换命令了,这次ES6成功转化为ES5的语法。
1 |
|
1、ES6中,给传递的参数设置默认值的方式为
1 |
|
2、let声明的变量只在自己的作用域里面有效即块级作用域
通俗的理解就是let的作用域在一对{}花括号里面,出了花括号就是undefined。(ps:包括if语句的花括号)
1 |
|
3、使用let 声明变量时不能重复声明,否则会报语法错误
1 |
|
4、const 声明的常量的值无法被修改,否则会报错;const也是块级作用域
1 |
|
5、const声明常量时必须赋值,不然会报错
1 |
|
6、使用const声明一个对象时,数值可以修改,因为对象是引用类型,返回的是的对象存储的内存的指针;而指针没有改变
1 |
|
7、es6语法新增的赋值写法
1 |
|
8、数组的解构赋值
1 |
|
9、对象的解构赋值
1 |
|
10、字符串的解构
1 |
|
10、扩展运算符
1 |
|
11、rest运算符
1 |
|
12、字符串查找,查看某段字符串里面是否含有某个字符
1 |
|
13、字符串的复制
1 |
|
14、ES6数字操作
1 |
|
15、json转为数组
1 |
|
16、数字和字符串转为数组
1 |
|
17、查找数组里面的字符
1 |
|
18、数组里面值的替换
1 |
|
19、es6的新的数组循环
1 |
|
20、es6箭头函数
箭头函数的特性
- 继承外部的作用域,即this的指向 // 例如vue中的箭头函数this指向vue对象
- 不能用作构造函数
- 没有prototype属性
1 |
|
21、对象的函数解构
1 |
|
22、查看对象里面是否有该键
1 |
|
23、数组遍历的几种方式
1 |
|
24、key值的构建//目前尚不知道实际使用场景
1 |
|
25、ES6判断的数值是否严格相等
1 |
|
26、es6合并对象的方法
1 |
|
27、新增的Set数据解构
1 |
|
28、WeakSet数据结构
1 |
|
29、Map数据结构
1 |
|
30、用Proxy进行预处理
Proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。
1 |
|
31、promise的语法
ES6中的promise的出现给我们很好的解决了回调地狱的问题,在使用ES5的时候,在多层嵌套回调时,写完的代码层次过多,很难进行维护和二次开发,ES6认识到了这点问题,现在promise的使用,完美解决了这个问题。那我们如何理解promise这个单词在ES5中的作用那,你可以想象他是一种承诺,当它成功时执行一些代码,当它失败时执行一些代码。它更符合人类的行为思考习惯,而不在是晦涩难懂的冰冷语言。
1 |
|
32、es6中的class
1 |
|
33、模块化编程
1 |
|
34、正则新特性
es5中正则的写法为
1 |
|
es6新特性
1 |
|
35、字符串新特性
1 |
|
36、数组新特性
1 |
|
37、函数新特性
1 |
|
38、Object新增方法
1 |
|
39、symbol数据类型
ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。
40、set-map数据结构
1 |
|
41、set和array对比
1 |
|
42、类和对象
基本定义和生成实例
1 |
|
继承
1 |
|
get和set操作
1 |
|
静态方法(只能通过类来调用而不是通过类的实例来调用)
1 |
|
静态方法
1 |
|
43、模块化编程
1 |
|
ES6知识点记录
https://xypecho.github.io/2018/01/12/ES6知识点记录/