前端基础 - ES6新特性

箭头函数

什么是箭头函数,箭头函数有什么特性

箭头函数:() => {},这个是最简单的箭头函数,一般的函数是:function (){}
区别:

  1. 最主要的是箭头函数没有this或者说不绑定this
  2. 箭头函数没有arguments,所以在箭头函数使用这个参数时会去上一个作用域里面查找,如果没有就undefined
  3. 不能当作构造函数使用(也就是没有constructor,不能new)
  4. 没有super
  5. 没有new.target(new.target允许开发者判断函数是否是使用new操作符调用的,如果是使用new操作符调用[new a()],那会返回一个指向构造函数的引用值;在普通函数中调用[a()],就会返回undefined)
  6. 没有prototype对象
  7. 由于不绑定this 在使用call apply ,bind的时候,箭头函数会忽略第一个参数

作用:
8. 本来就不需要用到this的匿名函数,例如:[1,2,3].map((item)=>item*10)

this指向

this的绑定方式有四种:默认绑定,隐式绑定,显时绑定,构造绑定(new )

promise

用于封装异步操作,防止回调地狱

function getName(){
	return new Promise((resolve,reject)=>{
		setTimeout(()=>{//模拟异步请求
			resolve(1)
		},1000)
	})
}
getName().then((res)=>console.log(res));//一秒后会打印 1

let const

解构赋值

const [name,age] = [“小明”,12];

延申操作符

数组形式:

var a = [ 1, 2, 3];
var b = [ 4, 5, 6]
var c =[ ...a, ...b];//[ 1, 2, 3, 4, 5, 6] 等价于a.concat(b)

对象形式

var a = { name:"小明", age:12};
var b = {name:"小强“, ...a}//{ name:"小明", age:12}; 等价于Object.assign({name:"小强"},a)

函数默认值

//函数参数设置默认值
function getName(name="xiaoming"){ }

对象属性简易赋值

var name="小明";
var userInfo={
 name
}
//等价于
var userInfo = {
 name:"小明"
}

类 class

模块化 import/export

模板字符串

var name=“xiaoming”;
var tempStr=hello world ${name};

Map Set

Symbol BigInt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值