一、for...of
for(let val of ×××){
console.log(val);
}
1、用于遍历
(1)数组
(2)字符串
(3)元素列表
(4)类数组对象
(5)es6新增 Map Set
2、比较
(1) for of 纯数组与类数组集合均可遍历
(2)for in 用于数组与对象,获取的是key
(3) forEach 用于纯数组
二、新增字符串操作
1、模板字符串
即反引号的用法
定义比较长,复杂的字符串,可以插入变量,可以插入函数
2、repeat()
console.log("我要进大厂!".repeat(10));
3、字符串补全长度
let str = "hello";
console.log(str.padStart(10));
console.log(str.padStart(10,"*"));
console.log(str.padStart(10,"abc"));
console.log(str.padEnd(10,"-"));
4、包含某个子字符串
(1)str.includes()
let str = "hello world";
console.log(str.includes("llo"));
(2) str.startsWidth()
(3)str.endsWidth()
let str = "hello world";
console.log(str.startsWith("hello"));
console.log(str.endsWith("world"));
三、函数新特性
1、函数参数默认值
注:具有默认值的参数要写到后边
2、reset参数
可替代arguments,arguments是一个类数组对象,reset是纯属组对象。
3、箭头函数
作用:
(1)简化回调函数的写法
(2)箭头函数中的this是函数声明时所在的对象
eg1:
var sum = function (a, b) {
return a + b;
}
let sum = (a, b) => a + b;
eg2:
var six = function (n) {
return n ** 6;
}
let six = n => n ** 6;
eg3:反转字符串
let reverseString = string => string.split('').reverse().join('')
eg4:数组去重
let singleArr = arr => {
let newArr = [];
arr.forEach(item=>{
if(!newArr.includes(item)){
// 不包含
newArr.push(item);
}
})
return newArr;
}