ECMAScript 新特性(ES6以及更高版本的新特性)

前端新特性(ES6含更高版本)

变量名区别
var有变量提升,可重复声明 ,有初始提升
let有变量提升,没有初始化提升,值可变,存在暂时性死区所以有变量提升,但是没有提升
const有变量提升,没有初始化提升,值不可变,但如果是定义对象,则属性可变 ,存在暂时性死区
  1. Object.keys
    可以用来获取对象的key的集合,进而可以获得对应key的value
	const obj = {
	  name: '拉拉',
	  age: 22,
	  gender: '女'
	}
	console.log(Object.keys(obj)) // [ 'name', 'age', 'gender' ]
  1. Object.values
    可以用来获取对象的键值对集合
const obj = {
  name: '拉拉',
  age: 22,
  gender: '女'
}
console.log( Object.entries(obj) )  // [ [ 'name', '拉拉' ], [ 'age', 22 ], [ 'gender', '女' ] ]
  1. Array.flat
    二维或多维数组变一维
const arr = [1, 2, 3, [4, 5, 6]]
console.log(arr.flat()) // [ 1, 2, 3, 4, 5, 6 ]
const arr = [1, 2, 3, [4, 5, 6, [7, 8, 9, [10, 11, 12]]]]
console.log(arr.flat(Infinity))
[1,  2, 3, 4,  5,  6,  7, 8, 9, 10, 11, 12]
  1. Array.flatMap
    也是降维,只会降维一次,并可以对数组中的元素进行迭代通过return返回
  2. BigInt 新的数据类型用来表示大于 2^53 - 1 的整数
  3. Symbol 新的数据类型
  4. Object.fromEntries
const map = new Map()
map.set('name', '拉拉')
map.set('age', 22)
map.set('gender', '女')
console.log(map) // Map(3) { 'name' => '拉拉', 'age' => 22, 'gender' => '女' }
const obj = Object.fromEntries(map)
console.log(obj) // { name: '拉拉', age: 22, gender: '女' }
  1. String.trimStart && String.trimEnd
    取消文字左边空格 取消文字右边空格
  2. ||= 和 &&=
    或等于(||=) a ||= b 等同于 a || (a = b);
    且等于(&&=) a &&= b 等同于 a && (a = b);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值