拒绝废话!前端开发中最常用的 10 个 ES6 特性(附极简代码)

摘要:还在写冗长的传统 JS 代码吗?本文精选了 ES6+ 中最常用的 10 个特性,通过极简的代码对比,助你快速提升代码逼格与开发效率。建议收藏!

标签:#前端 #JavaScript #ES6 #Web开发 #新手入门

1. 变量声明 (let & const)

告别 var 的变量提升困扰,拥抱块级作用域。

  • let: 用于变量,可重新赋值。
  • const: 用于常量,不可重新赋值(引用的对象属性除外)。
ini 复制代码
// 旧写法
var a = 1;

// ES6
let count = 10;
const API_URL = '[https://api.com](https://api.com)';

// count = 11; // OK
// API_URL = '...'; // Error

2. 模板字符串 (Template Literals)

再也不用痛苦地用 + 号拼接字符串了。

ini 复制代码
const name = 'Jack';
const age = 18;

// 旧写法
const str = 'My name is ' + name + ' and I am ' + age + ' years old.';

// ES6
const str = `My name is ${name} and I am ${age} years old.`;

3. 箭头函数 (Arrow Functions)

语法更简洁,且自动绑定当前上下文的 this

ini 复制代码
// 旧写法
var sum = function(a, b) {
  return a + b;
};

// ES6
const sum = (a, b) => a + b; // 单行自动 return

// 配合数组方法更是绝配
[1, 2, 3].map(x => x * 2);

4. 解构赋值 (Destructuring)

从数组或对象中提取值,爽到飞起。

ini 复制代码
const user = { name: 'Alice', age: 25 };

// 旧写法
var name = user.name;
var age = user.age;

// ES6
const { name, age } = user; // 对象解构
const [first, second] = [10, 20]; // 数组解构

5. 扩展运算符 (Spread Operator ...)

数组合并、对象复制,三个点全搞定。

ini 复制代码
const arr1 = [1, 2];
const obj1 = { a: 1 };

// 数组合并
const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]

// 对象浅拷贝/合并
const obj2 = { ...obj1, b: 2 }; // { a: 1, b: 2 }

6. 数组新方法 (Array Methods)

查找元素从未如此简单,告别 for 循环。

css 复制代码
const arr = [1, 2, 3, 4];

// find: 返回第一个匹配的值
const found = arr.find(x => x > 2); // 3

// Array.from: 将类数组对象转为数组
const newArr = Array.from('foo'); // ["f", "o", "o"]

7. 字符串新方法 (String Methods)

判断字符串包含关系,不再需要 indexOf() !== -1

rust 复制代码
const str = 'Hello World';

// includes: 是否包含
str.includes('Hello'); // true

// startsWith / endsWith: 开头/结尾判断
str.startsWith('He'); // true
str.endsWith('ld');   // true

8. Promise (异步编程)

解决回调地狱(Callback Hell)的神器,异步操作更优雅。

javascript 复制代码
// 模拟异步请求
const getData = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve('Data Loaded'), 1000);
  });
};

// 使用
getData().then(res => console.log(res));

9. 模块化 (Modules - Import/Export)

组件化开发的基础,彻底告别全局变量污染。

javascript 复制代码
// lib.js (导出)
export const pi = 3.14;
export const add = (a, b) => a + b;

// main.js (导入)
import { pi, add } from './lib.js';
console.log(add(pi, 1));

10. 类 (Classes)

虽然 JS 本质是原型继承,但 Class 写法让面向对象编程(OOP)更直观。

javascript 复制代码
// ES6
class Animal {
  constructor(name) {
    this.name = name;
  }
  
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

const dog = new Animal('Doggy');
dog.speak();

总结

掌握这 10 个特性,足以应对 90% 的日常前端开发场景。ES6 不仅是语法糖,更是提升代码可读性和维护性的利器。赶紧在项目中用起来吧!

喜欢这篇文章的话,欢迎点赞、收藏、关注!

相关推荐
0和1的舞者1 小时前
力扣hot100-链表专题-刷题笔记(一)
数据结构·链表·面试·刷题·知识
喔烨鸭1 小时前
vue3中使用原生表格展示数据
前端·javascript·vue.js
软件开发技术深度爱好者2 小时前
JavaScript的p5.js库坐标系图解
开发语言·前端·javascript
xlp666hub2 小时前
Linux 设备模型学习笔记(2)之 kobject
linux·面试
如果你好2 小时前
JavaScript 对象属性遍历Object.entries Object.keys:6 种常用方法详解与对比
javascript
donecoding2 小时前
CSS的"双胞胎"陷阱:那些看似对称却暗藏玄机的属性对
前端·css·代码规范
胖鱼罐头2 小时前
JavaScript 数据类型完全指南
前端·javascript
代码猎人2 小时前
map和Object有什么区别
前端
Snack2 小时前
border-radius带来的锯齿问题
前端