js ES6新特性

本文深入探讨ES6的关键概念,包括新的变量声明方式、块级作用域、解构赋值、Class语法、扩展与剩余运算符、Symbol类型、引用类型的新特性、BigInt构造函数、Set与Map构造函数、Proxy与Reflect、异步处理、Iterator循环、fetch方法等,旨在为开发者提供全面的ES6学习指南。
摘要由CSDN通过智能技术生成

目录

一、顶层对象

二、ES6 声明变量的方式 

三、ES6 块级作用域

四、解构赋值

五、ES6 的 Class

六、扩展运算符(spread)和剩余运算符(rest)

七、ES6 中新增的 Symbol 原始数据类型

八、 ES6 引用类型的新特性

九、BigInt 构造函数

十、Set 构造函数和 Map 构造函数

十一、 Proxy 构造函数与 Reflect 对象

十二、ES6 异步处理之 Promise 对象、Generator 函数 与 async 函数

十三、ES6 Iterator、for...of 与 for await...of 循环

十四、ES6 fetch 方法


本文是学习阮老师的大作时,做的笔记,详情请戳:ES6 入门教程

一、顶层对象

顶层对象:浏览器环境中顶层对象是window,Node中是global对象。

ES5 中,顶层对象的属性等价于全局变量。

ES6 中,var 和 function 声明的全局变量,依旧是顶层对象的属性;let、const 和 class 声明的全局变量,不属于顶层对象的属性。也就是说,从 ES6 开始,全局变量和顶层对象的属性脱钩。这其实是“块级作用域”的效果。

var a = 1;
window.a // 1

let b = 1;
window.b // undefined

另外,在 ES2020 中,引入了 globalThis 对象,作为顶层对象。详情请戳:GitHub - tc39/proposal-global: ECMAScript Proposal, specs, and reference implementation for `global`。 

接下来,看一道面试题:

// 写出输出结果
let len = 10;
function fn() {
	console.log(this.len)
}
fn();
let Person = {
	len: 5,
	say: function() {
		fn();
		arguments[0]();
	}
}
Person.say(fn);
// undefined
// undefined
// undefined

二、ES6 声明变量的方式 

js ES6 声明变量的方式

三、ES6 块级作用域

js 执行环境 & 作用域 & 作用域链 $ 变量的提升

四、解构赋值

js ES6之解构赋值

五、ES6 的 Class

ES6 的 Class

六、扩展运算符(spread)和剩余运算符(rest)

js ES6扩展运算符(spread)和剩余运算符(rest)

七、ES6 中新增的 Symbol 原始数据类型

js ES6 中新增的 Symbol 原始数据类型

八、 ES6 引用类型的新特性

js ES6 引用类型的新特性

九、BigInt 构造函数

js ES2020定义了 BigInt 构造函数

十、Set 构造函数和 Map 构造函数

js ES6 之 Set 构造函数和 Map 构造函数

十一、 Proxy 构造函数与 Reflect 对象

js ES6 Proxy 构造函数与 Reflect 对象

十二、ES6 异步处理之 Promise 对象、Generator 函数 与 async 函数

js ES6 异步处理之 Promise 对象、Generator 函数 与 async 函数

十三、ES6 Iterator、for...of 与 for await...of 循环

js ES6 Iterator 遍历器与 for、for...of、for await...of、for...in 和 forEach 循环语句

十四、ES6 fetch 方法

js ES6 fetch 方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值