// ES6新语法
// ECMA Script
// 改变this指向调通函数时使用call
fn.call(obj, 1)
// 此时第一个值为改变this的指向, 第二个值开始为形参
// 自调用函数
(function () {
//函数执行代码
arguments //所有实参的集合,是一个伪数组
})(10, 20)
// 声明变量关键字
let a //不能重复,不会被预解析,具有块作用域
const a // 具有块作用域,声明的变量只能赋值一次,称为常量
// 块作用域 :只作用域{}里面
// 局部作用域: 只作用于函数里面
// 全局作用域: 全局可使用
// 箭头函数 (注意:箭头函数不能写声明式函数)
let fn =()=>{ }
// 特殊写法
// 函数体执行代码只有一行时,大括号可以不写
let fn1 = (a)=> conlose.log(a)
// 只有一行代码,且有返回值可以不写return
let fn2 = (a,b)=>a+b
// 没有实参时给形参默认值
let fn3 = (a = 10)=>{ }
//调用函数时,a没有传参就默认为10,有传参就等于穿的实参
//this指向
// 箭头函数中this指向应用上下文(指原本所指对象的外一层对象)
// 结构赋值
let obj ={
name:'jack',
age:20
}
let{name,age}=obj
console.log(name,age) //jack 20
//注意:变量名必须和对象属性名一样
let arr = [10,20,30,50]
let[a,b,c,d]
console.log(a,b,c,d) //10 20 30 50
// 展开运算符
let arr1 = [10,20,30,40]
console.log(...arr1) //展开 10 20 30 40
let arr2 = [50,60]
let arr3 = [...arr1,...arr2]
console.log(arr3) //合并 10 20 30 40 50 60
let obj1 ={
name:'jack',
age:20
}
let obj2 = {
...obj1,
gender:'男'
}
console.log(obj2) //合并对象
// set 存储数据的集合,类似于数组
// 特点:集合内元素不能重复,不能通过下标查看元素,可以通过forEach遍历
let set1 = new Set([1, 'hello', {
name: 'jack'
}]) //创建一个Set对象
set1.add('word') //添加元素,一次只能添加一个
console.log(set1.size); //查看set对象长度,类似于数组的lenght
set1.delete('hello') //删除一条数据
set1.clear() //清除所有数据
//数组去重
let arr = [100, 200, 300, 100, 100]
let set = new Set(arr)
arr = [...set]
console.log(arr); //100,200,300
ES6新增语法
于 2021-12-11 09:16:35 首次发布
本文详细介绍了ES6中的箭头函数用法,包括其特有的this指向以及如何通过call改变上下文。此外,还探讨了结构赋值的用法,如解构对象和数组,并展示了展开运算符在合并数组和对象中的应用。同时,文章还讲解了Set数据结构的特性,如存储唯一值,以及如何利用Set实现数组去重。
摘要由CSDN通过智能技术生成