ES6新特性

1.const 和 let

2.解构赋值

const oldName = {id:'111',name:'zhangsan'}
const {name:newName} = oldName;

console.log('oldName',newName) // oldName zhangsan
//对象类型
let { foo } = 	{foo:1, bar:2}  //foo = 1
//重新命名
let {foo : newfoo } = {foo:1,bar:2} //newfoo = 1

3.模板字符串

4.数组的扩展

  1. call apply bind 的区别:

    fn.apply(null,[1,2,3])
    fn.call(null,1,2,3)
    fn.bind(null,1,2,3)()
    
  2. 数组实例的方法

    //find() 返回第一个符合数组条件的元素
    //findIndx() 返回第一个符合数组条件的元素索引值
    //Object.entries()  
    //对象
    const obj = {foo:'aa',bar:'bb'}
    console.log(Object.entries(obj)) //[['foo','aa'],['bar','bb']]
    //数组
    const arr = [1,2,3]
    console.log(Object.entries(arr)) //[['0','1'],['1','2'],['2','3']
    //字符串
    const str = 'abc'
    console.log(Object,entries(str)) //[['0','a'],['1','b'],['2','c']
    
    //Object.keys() 返回属性名
    var obj = {a:1,b:"zhangsan"}
    console.log(Object.keys(obj)) // ["a","b"] 
    
    //Object.values()返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用for...in循环的顺序相同
    var obj = {0:'a',1:'b',2:'c'}
    console.log(Object.values(obj))  // ['a','b','c']
    
    var obj1 = {100:'a',2:'b',7:'c'}
    console.log(Object.values(obj1)) //['b','a','c']
    

5.Symbol
javascript 新增的一种数据类(String,Array,Boolean,Number,undefined,Null,Object)

symbol作为对象的属性名时不会被for…in,for…of,Object.keys()识别

6.Promise

const p = new Promise((resolve,reject) => {
	setTimeout(()=>{
		resolve()
	},1000)
}).then(res=>{})
.catch(err => {})

then方法包含两个参数,一个是成功的回调,另一个是失败的回调

.then(res => {},err => {})

最好用catch方法,catch方法会捕获then里面的错误,then有错误则不会终止

7.Set&&Map

//数组去重
[...new Set([1,1,1,2,3,4,3])]
Array.from(new Set([1,1,1,2,3,4,3]))
const m = new Map()
m.set('1', 'ab')
m.get("1") // 'ab'
m.delete("1") 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值