ES6
常识
ECMAScript:
es3\5
es6之后的都叫:es6[2015年推出]
let和const
解构赋值
一一对应
let [a,b,c] = [1,2,3]
var{name:name1,age:age1} = {name:macro,age:25}
字符串
函数
对象
数组新api
[1]变量提升
[2]常量定义
[3]重复定义
[4]局部变量可见
---出现es6
[1]let——解决重复定义、块级作用域、先定义后使用
---闭包也可以解决块级作用域问题
[2]const——需要初始化;不可更改
简单操作
let name = 'macro';
let age = 25;
// 正则表达式;模板字符串
let res = `My name is ${name},
my age is ${age} years old`;
let liEle = [name, age];
var liArr = liEle.map(function(item) {
return `<li>${item}</li>`
});
let ulStr = `
<ol>
${liArr.join("")}
</ol>
`;
console.log(ulStr);
document.write(ulStr);
// url.startsWith("字符串")
// endWith()
// ''.repeat(3) 重复3次
// padStart() \ padEnd() ————8 总长度 ; 7 填充字符
console.log('012'.padStart(8, 7));
数组新特性
//Array.from()——把数组或类数组转成数组,ex:arguments
function fn() {
//二者等效
let arr = Array.from(arguments);
let arr1 = [...arguments];
}
//Array.of()——数组中的元素
console.log(Array.of(3).length);
//区别
console.log(new Array(3).length);
// //fill()——
let arr1 = [3, 2, 5, 7];
arr1.fill('a', 1, 3);
console.log(arr1);
//copyWithin()
let arr = [1, 2, 3, 4, 5, 6];
arr.copyWithin(0, 3, 6); // 第一个参数为copy位置地序号;第二个参数start ~ end第三个参数
console.log(arr);
//find——找到第一个返回值满足条件的值
let res = [1, 2, 4, 5].find(item => {
return item > 2
});
console.log(res);
//findIndex()——找到满足条件的下标
let res1 = [2, 3, 45, 6, 7, 8].findIndex(item => item > 10);
console.log(res1);
//some()——判断元素是否满足条件,有一个满足返回true【同理】,否则false
//every()——判断每一个元素满足条件;遇到false停止执行
let res2 = [3, 3, 4, 67, 8].some(item => item > 1);
let res3 = [3, 3, 4, 67, 10].every(item => item > 10);
console.log(res2, res3);
//typeof 变量 ——返回变量类型
// instanceof ——返回实例类型