ES6从入门到精通:常用知识点

变量声明

ES6引入了letconst替代varlet用于声明可变的块级作用域变量,const用于声明不可变的常量。块级作用域有效避免了变量提升和污染全局的问题。

javascript 复制代码
let name = 'Alice';
const PI = 3.1415;

箭头函数

箭头函数简化了函数写法,且自动绑定当前上下文的this值。适合用于回调函数或需要保留this的场景。

javascript 复制代码
const add = (a, b) => a + b;
array.map(item => item * 2);

模板字符串

使用反引号()包裹字符串,支持多行文本和嵌入变量。表达式通过${}`插入。

javascript 复制代码
const user = 'Bob';
console.log(`Hello ${user}, 
Today is ${new Date().toDateString()}`);

解构赋值

从数组或对象中提取值并赋值给变量。简化数据提取过程,支持嵌套和默认值。

javascript 复制代码
const [x, y] = [1, 2];
const {name, age} = {name: 'Tom', age: 20};

默认参数

函数参数可以设置默认值,避免手动检查undefined

javascript 复制代码
function greet(name = 'Guest') {
  return `Hello ${name}`;
}

扩展运算符

...可用于展开数组或对象,常用于合并数据或函数传参。

javascript 复制代码
const arr1 = [1, 2];
const arr2 = [...arr1, 3]; // [1, 2, 3]
const obj = {...oldObj, newProp: 'value'};

Promise

Promise用于异步操作管理,通过thencatch处理成功或失败状态。避免了回调地狱。

javascript 复制代码
fetch(url)
  .then(response => response.json())
  .catch(error => console.error(error));

模块化

ES6模块通过importexport实现代码组织。支持按需加载和静态分析。

javascript 复制代码
// module.js
export const api = 'https://example.com';
// main.js
import {api} from './module.js';

类语法

class关键字提供更清晰的面向对象编程语法,包含构造函数、继承和静态方法。

javascript 复制代码
class Person {
  constructor(name) {
    this.name = name;
  }
  greet() {
    return `Hello ${this.name}`;
  }
}

迭代器与生成器

Symbol.iterator定义迭代协议,function*生成器函数可暂停执行。用于自定义遍历逻辑。

javascript 复制代码
function* idGenerator() {
  let id = 1;
  while(true) yield id++;
}
const gen = idGenerator();
gen.next().value; // 1
相关推荐
小码哥_常1 分钟前
从SharedPreferences到DataStore:Android存储进化之路
前端
老黑9 分钟前
开源工具 AIDA:给 AI 辅助开发加一个数据采集层,让 AI 从错误中自动学习(Glama 3A 认证)
前端·react.js·ai·nodejs·cursor·vibe coding·claude code
薛先生_09915 分钟前
js学习语法第一天
开发语言·javascript·学习
jessecyj24 分钟前
Spring boot整合quartz方法
java·前端·spring boot
苦瓜小生37 分钟前
【前端】|【js手撕】经典高频面试题:手写实现function.call、apply、bind
java·前端·javascript
天若有情67344 分钟前
前端HTML精讲03:页面性能优化+懒加载,搞定首屏加速
前端·性能优化·html
踩着两条虫1 小时前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava
和沐阳学逆向1 小时前
我现在怎么用 CC Switch 管中转站,顺手拿 Codex 举个例子
开发语言·javascript·ecmascript
swipe1 小时前
AI 应用里的 Memory,不是“保存聊天记录”,而是管理上下文预算
前端·llm·agent
慧一居士2 小时前
nuxt3 项目和nuxt4 项目区别和对比
前端·vue.js