数组
1. 空位
- forEach(), filter(), reduce(), every() 和some()都会跳过空位。
- map()会跳过空位,但会保留这个值
- join()和toString()会将空位视为undefined,而undefined和null会被处理成空字符串。
1.解构
2.箭头函数
3.剩余参数
4.模板字符串
5.startsWith()和endsWith()
6.repeat()
7.set()
阮一锋
1.Babel
2.let命令
3.块级作用域
4.const
5.ES6中6种声明变量的方法
6.全局变量和顶层对象的属性脱钩
7.变量的结构赋值
8.字符串的扩展
9.JSON.stringify()可能返回不是UTF-8字符
10.模板字符串
11.字符串的新增方法
12.正则表达式
13.数值的扩展
14.Math对象扩展
15.函数的扩展
16.数组的扩展
17.对象的扩展
18.丢失的笔记
1.解构
解构赋值必须是最后一个参数,否则报错
a.数组解构
let arr = [1,2,3];
let [a,b,c] = arr;
console.log(a)
console.log(b)
console.log(c)
b.对象解构 {}
2.箭头函数
形式:用一个变量接收箭头函数
const fn = ()=>{}
如果{}里面只有1句话,并且是返回值,可以省略return 和{}
const f = (n,m)=>n+m
如果形参只要1个也可以省略()
const f = item=>console.log(item)
箭头函数没有this,但是在箭头函数使用了this,这个this指向函数定义位置的上下文
3.剩余参数[数组]:将剩余参数放在数组中,应用于参数的个数不确定
在箭头函数无法使用arguement对象
const sum = (...args)=>{
let total = 0;
args.forEach(item =>{
total += item
})
return total
}
console.log(sum(1,2,3,4,5))
4.扩展运算符
0.将对象或者数组转为以逗号分隔的参数数列
因为用console.log的时候将逗号当作分隔参数
即console(1,2,3)=>1 2 3
(1)扩展运算符合并数组
let ary = [0,1,2,3]
let ary1 = [4,5,6]
let ary2 = [...ary,...ary1];
console.log(ary2)
或者
let ary = [0,1,2,3]
let ary1 = [4,5,6]
let ary2 = ary.push(...ary1);
console.log(ary2)
(2)将伪数组转为数组
var obj = {
"0":'name',//"0"=>数组第1项的内容
"1":"age",//"1"=>数组第2项的内容
"length":2 //定义数组长度不能少!
}
var arr = Array.from(obj);
console.log(arr)
(3)扩展运算符的解构赋值,不能复制继承自原型对象的属性。
4.模板字符串``
可以表示字符串,
用${变量名}解析变量
可以换行
可以调用函数
5.startsWith()和endsWith()
6.repeat()
7.set
1.Babel
(1)babel-node
所有 Babel 工具和模块的使用,都必须先写好.babelrc(存放在项目的根目录下)
**注意:**需要下载bable-node,可以运行es6代码,运行js文件:npx babel-node es6.js
(2)babel-register