ES6是ECMAScript6的简称,ECMAScript是96年网景公司把JavaScript提交给欧洲计算器制作联合会。
版本 | 发行时间 |
---|---|
ECMAScript 1.0 | 1997年 |
ECMAScript 2.0 | 1998年 |
ECMAScript 3.0 | 1999年 |
ECMAScript 4.0 | 2000年(没有通过,被和谐) |
ECMAScript 5.0 | 2009年 |
ECMAScript 6.0 | 2015年(ES6继承了大部分的ES4的内容) |
let的特点 |
---|
1.局部变量只在局部有效,只在{}内部使用,外部不能访问 |
2.不能重复声明 |
3.变量不会提升 |
const的特点 |
---|
1.声明必须赋值,(先声明后赋值会报错) |
2.赋值不能修改(值类型:数字,字符串,布尔),(引用类型:数组,对象,null)可以修改。 |
3.变量名尽量使用大写 |
自动解析数组或对象中的值。
1. 基本
let a = 12;
let b = 23;
console.log(a,b);
输出结果为:a:12 , b:23
2. 交换变量
let arr = [1,2,4,6,8,9];
let [a,b,c,d,e,f,g] = arr;
console.log(a,b,c,d,e,f,g);
输出结果为:a:1 , b:2 , c:4, d:6, e:8, f:9, g:undefined
3. 忽略
let arr = [1,2,4,6,8,9];
let [a,,,b] = arr;
console.log(a,b);
输出结果为:a:1 , b:6
4. 默认值
let arr = [1,2,4];
let [a,b,c = 100] = arr;
console.log(a,b,c);
输出结果为:a:1 , b:2, c:4
5. 浅拷贝(复制)
var arr = [1,2,3,4,5];
var arr1 = [...arr];
arr1[1] = 12;
console.log(arr,arr1)
输出结果为:arr:[1,2,3,4,5] , arr1:[1,12,3,4,5]
1. 基本
var obj = {
name:"毛毛",age:22,weight:120};
let {
name,weight} = obj;
console.log(name,weight)
输出结果为:毛毛 22
2. 对象解构没有顺序
var obj = {
name:"毛毛",age:22,weight:120};
let {
weight,name} = obj;
console.log(weight,name)
输出结果为:120 毛毛
3. 剩余值
var obj = {
name:"毛毛",age:22,weight:120};
let {
weight,...rest} = obj;
console.log(weight,rest)
输出结果为:120 {name: “毛毛”, age: 22}
4. 默认值
var obj = {
name:"毛毛",age:22,weight:120};
let {
name,eye=2} = obj;
console.log(name,eye)
输出结果为:毛毛 2
5. 浅拷贝(复制)
var obj = {
name:"毛毛",age:22,weight:120};
var obj2 = {
...obj};
obj2.name = "ysy";
console.log(obj2,obj)
输出结果为:{name: “ysy”, age: 22, weight: 120}
{name: “毛毛”, age: 22, weight: 120}
1.去除两边空格
str.trim() 去除两边空格
str.trimLeft() 去除左边空格
str.trimRight() 去除右边空格
1.去除空格
str.trim() 去除两边空格
str.trimLeft() 去除左边空格
str.trimRight() 去除右边空格
2.重复
str.repeat(100)
重复100遍(括号内部填写重复次数)
3.包含
str.includes(a);检测是否包含字符串a;
str.startsWith(a);检测是否以字符串a开头;
str.endsWith(a);检测是否以字符串a结尾;
返回值为布尔类型
添加
padStart在开头添加
str.padStart(5,‘0’)表示在str前面添加0,直到字符串长度为5时结束
padEnd在结尾添加
str.padEnd(5,‘0’)表示在str后面添加0,直到字符串长度为5时结束