一、环境配置
全局安装:babel-cli
本地安装:babel-cli、babel-preset-es2015
新建.babelrc
{
“presets”: ["es2015"],
"plugins": []
}
二、声明变量
var全局变量
let局部变量
const声明后就不能修改
三、解构赋值
赋的值>默认值
null是一种值,undefined什么都不是
解构之前定义了的变量,用圆括号解决报错
四、扩展运算符和rest运算符(...)
扩展运算符用处:当arr2 = arr1时,arr2值改变,arr1也改变;改成arr2=[...arr1]可解决
rest运算符:function(first,..arg) ...arg表示出了第一个剩下的
五、字符串模板
拼接:
let a = xxx;
let b = `yyyy${a}zzzzz`;
查找是否存在:
b.includes(a)、b.startsWith(a)(开头是否存在)、b.endsWith(a)(结尾是否存在)
复制字符串:
xxx.repeat(x)
六、数字操作
1、Number.isFinite()判断是否是数字
2、Number.isNaN()判断是否是NaN
3、Nunber.isInteger()判断是否是整数
4、Number.parseInt()将数字转化成Int整数
5、Number.parseFloat()将数字转化成Float浮点数
6、Number.isSafeInteger()判断数字是否在安全范围内
安全范围:-~
七、数组操作
1、Array.from() 转化json为数组
2、Array.of() 转化数字、字符串为数组
3、arr.find(function(value, index, arr) { return ..... })
value:表示当前查找值
index:数据索引
arr:当前数组
一找到符合条件的就返回,不继续查找
4、arr.fill(填充变量,填充初始索引值,填充结束索引值如果不填默认到结尾)
5、for..of
for(let i of arr){}、for(let index of arr.keys())
6、arr.entries()
entries()实例方式生成的是Iterator形式的数组,那这种形式的好处就是可以让我们在需要时用next()手动跳转到下一个值。
let arr = ['aaa', 'bbb', 'ccc'];
let list = arr.entries();
console.log(list.next().value);
console.log(list.next().value);
console.log(list.next().value);
console.log(list.next().value);//undefined
for,foreach,iterator的用法和区别 https://www.jianshu.com/p/bbb220824c9a
7、forEach、filter、some、map、join()、toString()
八、函数
1、可以有默认值(b=1)
function add(a,b=1){
return a b;
}
2、主动抛出错误throw new Error('xxx')
3、箭头函数
var add = (a,b=1) => {a b, ...}
4、函数解构
1)对象
let json = {
a: 'yyf',
b: 'wxy'
}
function fun({a,b='wxy'}) {console.log(a,b)}
fun(json); //yyf wxy
2)数组
let arr = ['aaa','bbb','ccc'];
function fun(a,b,c) {console.log(a,b,c)}
fun(...arr);
5、in判断存在 1)对象 2)数据
九、