ES6(ECMAScript 2015)主要特性一览
myzbx 2025-07-23 16:45 5 浏览
下面按“语法糖”“新数据类型/API”“异步 & 迭代”三大类,总结 ES6 的核心要点。
---
## 一、语法糖
- 块级作用域:`let`、`const`
- `let`:声明块级变量,不可重复声明,不存在变量提升
- `const`:声明常量,必须初始化、且引用不可变
- 模板字符串(Template Literals)
```js
const name = 'Alice';
console.log(`Hello, ${name}!`);
```
- 解构赋值
- 数组解构:
```js
const [a, , b = 2] = [1, , 3];
```
- 对象解构:
```js
const {x, y: aliasY = 0} = {x: 10};
```
- 箭头函数(Arrow Functions)
- 语法简洁,自动绑定父级 `this`
```js
const sum = (a, b) => a + b;
```
- 默认参数、剩余参数、扩展运算符
```js
function foo(a = 1, ...rest) { /* ... */ }
const arr2 = [...arr1, 4, 5];
```
- 对象字面量增强
- 属性简写、方法简写、计算属性名
```js
const x = 1;
const obj = {
x,
['prop_' + x]: 42,
greet() { console.log('hi'); }
};
```
- `class` + `extends` + `super`
- 基于原型的“糖”,更接近传统 OOP 语法
```js
class Animal {
constructor(name) { this.name = name; }
speak() { console.log(this.name); }
}
class Dog extends Animal {
bark() { console.log('Woof'); }
}
```
---
## 二、新的数据类型/API
- Symbol
- 新的原始类型,常用作对象的“私有”键
```js
const uid = Symbol('id');
obj[uid] = 123;
```
- Map、Set、WeakMap、WeakSet
- 原生键值对 & 去重容器
```js
const map = new Map([[keyObj, 'value']]);
const set = new Set([1,2,2,3]); // {1,2,3}
```
- Promise
- 原生的异步控制方案
```js
fetch(url)
.then(res => res.json())
.catch(err => console.error(err));
```
- 模块化(Modules)
- `export` / `import`
```js
// lib.js
export function fn() { /*...*/ }
// app.js
import { fn } from './lib.js';
```
- Reflect、Proxy
- Reflect:类似 `Object.*` 的补充
- Proxy:拦截对象操作,做元编程
```js
const p = new Proxy(target, {
get(obj, prop) { /* 拦截读取 */ }
});
```
---
## 三、异步 & 迭代
- 生成器(Generator)
- `function*` + `yield`,可暂停/恢复
```js
function* gen() {
yield 1;
yield 2;
return 3;
}
```
- Iterable & Iterator
- 支持 `for…of`、扩展运算符遍历
```js
for (const v of [1,2,3]) { /* ... */ }
```
- `for…of`
- 针对可迭代对象,更友好地遍历索引/键值对
---
### 小结
ES6 是一次大版本更新,引入了**模块化**、**类**、**Promise**、**生成器**、**Proxy** 等核心概念,并大幅增强了**语法糖**(解构、模板、箭头函数等),让 JavaScript 编写更简洁、可维护、符合现代工程化需求。
相关推荐
- 下一代EUV光刻机,万事俱备?(下一代光刻技术)
-
光刻机在半导体领域一向是个热门话题,这个能一次又一次突破工艺极限的设备仿佛一个时光机器,连接着芯片的现在和未来。从ASML宣布将推出下一代光刻机开始,人们的目光就从当前最新一代的0.33NA光刻系...
- 鸿蒙NEXT-状态管理V1和状态管理V2的差别
-
1.在V2中没有了@Link,来进行父组件和子组件的双向绑定。所以我们需要在子组件中通过@Event,调用父组件的事件,来实现装饰回调(白话来讲就是:子组件调用@Event装饰的函数,传入参数,修改父...
- 15个Excel工作表技巧,效率必备,办公必备
-
在数据的统计分析中,最常用的办公软件就是Office中的Excel,如果你对Excel的应用技巧掌握较少,可以从学习本文开始。一、Excel工作表技巧:锁定标题行方法:将光标定位到标题行下面的任意单...
- 苹果这个新的稳定平台适合用户/开发者测试
-
苹果好低调地就发布了这个平台,还好我们没有错过。从今天起你将有一种新的、更简便的方式去了解,Safari和其他使用Webkit的应用中将有什么特性和完善。SafariTechnologyPr...
- 教程|PPT绘制箭头最全攻略,收藏一下
-
微信公众号:有宝物的柜子编辑:落水无波2020-05-02原创由于没有较好的方向,公众号的更新一直暂停,根据昨天的留言,今天更新一篇关于绘制各类箭头的PPT教程,希望帮到需要的同学。那么,我们从最简...
- 老板让我制作动态图表,我不会,同事说用vlookup函数3步就搞定了
-
大家好,动态图表你会制作吗?是不是觉得动态图表制作起来应该非常的麻烦?其实并不是,大家熟悉的vlookup函数就可以用来制作动态图表,操作也非常的简单,下面就让我们来一起操作下吧COLUMN函数在这里...
- ES6(ECMAScript 2015)主要特性一览
-
下面按“语法糖”“新数据类型/API”“异步&迭代”三大类,总结ES6的核心要点。---##一、语法糖-块级作用域:`let`、`const`-`let`:声明块级变量,不可...
- Excel工作表中F1—F12应用技巧解读,再不会就Out了
-
键盘中,有一组非常显眼的功能键,就是F1—F12,其功能非常的强大,在Excel工作表中也有特别重要的作用,通过本文的学习,相信你一定有所了解。一、Excel工作表功能键:F1。功能:打开帮助对话框...
- es6的模块和核心语法(es6模块化的语法)
-
目标:通过本教案,将掌握ES6的核心语法和模块化概念,理解解构表达式的用法,并初步了解Node.js的使用,为学习Vue3打下坚实的基础。学习内容:ES6核心语法模块化解构表达式Nod...
- ECMAScript标准制定过程展示及ES7新特性披露
-
2015年6正式发布的ES6是ECMAScript的最新版本,它的发布具有里程碑意义,不仅带来了众多的新特性,而且自此将改变ECMAScript的发布策略。本文将会介绍ECMAScript标准的最新...
- 冲激函数的理解(冲激函数的性质有哪些问题)
-
一、冲激函数是什么?1.通俗理解想象一根理想化的针:长度无限小(宽度为0)高度无限大(强度无限)但总面积(能量)=1这就是冲激函数δ(t)!类比:用针尖瞬间触碰水面→产生一个无限高但宽度为...
- 前端常见面试 - 请求篇(前端面试经典问题)
-
对于前端来说,请求是前端日常工作必备的,通过请求才能与后端进行数据交互,尤其在现在前后端分离的开发模式下,请求显得就更加重要。因此,对于前端开发者来说,掌握请求就很重要。下面将从http请求和常见...
- 不会js中原型、原型链与constructor到底是什么?
-
关注我:知码前端,获取更多前端知识~~~前言哇呀呀~我说寒山说哭我带你出我敬滴酒带你出我欲成冰再也无退路怎舍寒冰冰冻我心哭~~~Hello,广大的前端小伙伴们,又到了写文章的时候,我们说一下在...
- 你真的懂js的执行上下文吗?(详细说明js的执行过程)
-
JavaScript执行上下文目录JavaScript执行上下文前言概念执行上下文的特点JS如何管理多个执行上下文执行栈执行上下文的生命周期创建阶段ThisBinding词法环境变量环境执行阶段销...
- 停止滥用箭头函数:这5个场景请务必使用 function
-
自ES6问世以来,箭头函数(ArrowFunctions)以其简洁的语法和对this的词法绑定,迅速成为了JavaScript开发者的“新宠”。我们似乎倾向于在任何可以使用函数的地方都换...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)
- 时钟启动 (33)
- HTML 游戏 (34)
- JS Loop For (32)