ES6笔记

本文详细介绍了ECMAScript 6(ES6)的新特性,包括let和const的作用域规则、对象冻结、属性枚举方法、Map数据结构的迭代、变量解构赋值等高级用法。同时探讨了字符串处理的新API,如codePointAt、normalize等,并概述了Set、Map、WeakSet集合类型及Proxy对象的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、暂时性死区,let、const

2、const obj = Object.freeze({}); obj.prop = 123; // 报错 const 指向一个地址,如果这个地址里存放这一个对象,那么对象的属性可以改变的,所以obj也会随着改变。如果不想它改变,就用freeze

3、Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in 循环还会枚举其原型链上的属性)。

4、for...0f遍历

const map new Map();
map.set('first', 'hello');
map.set('second', 'world');

for ( let [key, value] of map ) {
    console.log( key + ' is ' + value );
}

5、变量解构复制的用途

  • 交换变量的值
let x = 1;
let y = 2;
[x, y] = [y, x];
  • 从函数返回多个值
function fn() {
    return [1, 2, 3];
}
let [a, b, c] = fn();
  • 函数参数的定义
  • 提取JSON数据
  • 函数参数的默认值
  • 遍历Map结构
  • 输入模块的指定方法

6、string新增方法

  • Unicode表示法
  • codePointAt() 对应charCodeAt()
  • String.fromCodePoint() 对应String.fromCharCode()
  • for...of
  • at()(草案)
  • normalize() NFC NFD NFKC NFKD
  • includes(), startsWith(), endsWith()
  • str.repeat(3)

7、枚举属性 Object.getOwnPropertyDescriptor( obj, 'foo' ); Object.getOwnPropertyDescriptors(obj); 目前,有四个操作会忽略enumerable为false的属性。 for...of Object.keys(obj); JSON.stringify(); Object.assign(); Object.getOwnPropertyNames(obj); Object.getOwnPropertySymbols(obj); Reflect.ownKeys(obj);

8、Set Map WeakSet: WeakSet 的一个用处,是储存 DOM 节点,而不用担心这些节点从文档移除时,会引发内存泄漏。

9、Proxy set: funciton(obj, prop, value, proxy) { }

转载于:https://my.oschina.net/huangsuhong/blog/1548984

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值