ES6语法

ES6语法

let const

let const var的区别

varletconst
全局作用域块作用域块作用域
存在变量提升不存在变量提升不存在变量提升
值可变值可变值不可变

解构赋值

按照数组或对象依次对应的位置赋值

  • 数组解构
let ary=[1,2,3];
let [a,b,c]=ary;
  • 对象解构
let person={ name:'zhangsan', age:'20' };
let {name,age}=person;
// 使用别名
let person={ name:'zhangsan', age:'20' };
let {name:myName,age:myAge}=person;

箭头函数

()=>{}
// 赋值给一个常量
const fn=()=>{};
fn();
// 如果函数体只有一行代码且代码结果就是返回值,那么可以省去大括号
const sum =(num1,num2)=>num1+num2;
sum(10,20);
// 形参只有一个,那么可以省略小括号
const fn=v=>v*2;
fn(20)
  • this
    箭头函数没有自己的this,在使用this的时候只能指向当前的this
function fn(){
	console.log(this);
	return ()=>{
		console.log(this);
	}
}
const obj = {name:'zhangsan'};
// call可以改变fn当前的this到obj
const resfn=fn.call(obj);
resfn();

例题

var age=100;
var obj={
	age:20,
	say:()=>{
		alert(this.age);
	}
}
// 此题目在说明对象不能产生作用域,对象里的this指向window中的变量
obj.say()

模板字符串

反引号之间的字符
变量使用${}调用

  • 可以解析变量
  • 可以不加任何东西换行
  • 可以调用函数

string扩展方法

//判断是否以***开头
startsWith();
//判断是否以***结尾
endsWith();
//将原字符串重复n次
repeat();

Set数据结构

Set数据结构类似于数组,但成员唯一,没有重复

const s1=new Set([1,2,3,4,5,6,6]);
s1.size
  • 利用Set数组去重
const s2=new Set(['a','b','a']);
// 扩展运算符加上中括号便数组
const ary=[...s3];
  • 利用Set存储搜索关键词

Set实例方法

const s=new Set();
// 添加值,返回Set本身
s.add(1).add(2);
//删除值,返回bool
s.delete(2);
//判断是否拥有值,返回bool
s.has(1);
//清空,无返回值
s.clear()

遍历Set

const s3=new Set(['a','b','a']);
s3.forEach(value=>{
	console.log(value)
})

Array扩展方法

  • Array.from()
// 将类数组或可遍历的对象转换为真正的数组
// obj为类数组或对象
// fun可对该对象进行进一步加工
Array.from(obj,fun);
  • Array.find()
    找出第一个符合条件的数组,没找到则返回undefined
  • Array.findIndex()
    找出第一个符合条件的位置,没找到则返回-1
  • Array.includes()
    表示某个数组是否包含给定的值

扩展运算符
去掉数组的中括号

// 合并数组
// 法一
let ary1=[1,2,3]
let ary2=[4,5,6]
let ary3=[...ary1,...ary2]
// 法二
ary1.push(...ary2)
console.log(ary3)

将扩展运算符+中括号可以将伪数组转换为真正的数组

剩余参数

// 接受所有实参,保存在数组
const sum=(...args)=>{
  let total=0;
  args.forEach(item=>total+=item)
  return total
}
console.log(sum(10,20))
console.log(sum(10,20,30));
  • 与解构配合使用
let ary=['张三','李四','王五']
let [s1,...s2]=ary
console.log(s1)
console.log(s2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值