ES6具体有什么

ES6(ECMAScript 2015) 中,引入了许多新的特性和改进,旨在提升 JavaScript 的可读性和功能性。以下是一些重要的 ES6 特性,特别是你可能会在日常开发中使用到的:

1. letconst
  • let :用于声明一个块级作用域的变量(替代传统的 var)。它的作用域限制在当前代码块内(如 iffor 等)。

  • const :用于声明一个常量,一旦赋值后不能修改其值。常量也遵循块级作用域。

    javascript 复制代码
    let a = 10;
    if (true) {
        let b = 20;
        console.log(a, b); // 10 20
    }
    console.log(b); // ReferenceError: b is not defined
     
    const c = 30;
    c = 40;  // TypeError: Assignment to constant variable.
    2. 箭头函数(Arrow Functions)

    箭头函数提供了更简洁的语法,并且不会绑定自己的 thisthis 的值由外部作用域决定。

    javascript 复制代码
    // 普通函数
    var sum = function(a, b) {
        return a + b;
    };
     
    // 箭头函数
    const sumArrow = (a, b) => a + b;
    3. 模板字面量(Template Literals)

    模板字面量使字符串插值变得更简单,允许多行字符串和内嵌表达式。

    javascript 复制代码
    let name = 'John';
    let greeting = `Hello, ${name}!`;  // 字符串插值
    console.log(greeting);  // Hello, John!
     
    let multilineString = `This is
    a multi-line
    string.`;
    console.log(multilineString);
    4. 解构赋值(Destructuring Assignment)

    解构赋值允许你从数组或对象中提取值,并将它们分配给变量。

    javascript 复制代码
    // 数组解构
    const arr = [1, 2, 3];
    const [a, b] = arr;
    console.log(a, b);  // 1 2
     
    // 对象解构
    const person = { name: 'Alice', age: 25 };
    const { name, age } = person;
    console.log(name, age);  // Alice 25
    5. 默认参数(Default Parameters)

    可以为函数参数设置默认值,避免传入 undefined 时导致错误

    javascript 复制代码
    function greet(name = 'Guest') {
        console.log(`Hello, ${name}!`);
    }
     
    greet();  // Hello, Guest!
    greet('Alice');  // Hello, Alice!
相关推荐
前端极客探险家1 分钟前
如何实现一个支持拖拽排序的组件:React 和 Vue 版
前端·vue.js·react.js·排序算法
yanyu-yaya4 分钟前
devextreme-react/scheduler 简单学习
前端·学习·react.js
limit for me10 分钟前
react使用eventBus在不同模块间进行通信
前端·react.js
艾妮艾妮19 分钟前
C语言常见3种排序
java·c语言·开发语言·c++·算法·c#·排序算法
A_ugust__25 分钟前
vue3项目使用 python +flask 打包成桌面应用
开发语言·python·flask
葵野寺29 分钟前
【多线程】synchronized锁升级和优化
java·开发语言·java-ee
__不想说话__37 分钟前
面试官问我React组件和state的关系,我指了指路口的红绿灯…
前端·javascript·react.js
Yeauty39 分钟前
Rust 中的高效视频处理:利用硬件加速应对高分辨率视频
开发语言·rust·ffmpeg·音视频·音频·视频
一个小潘桃鸭40 分钟前
需求:对表格操作列中的操作进行局部刷新
前端
落榜程序员40 分钟前
Java 基础-30-单例设计模式:懒汉式与饿汉式
java·开发语言