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!
相关推荐
郑州光合科技余经理7 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
萧瑟余晖7 小时前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
平头哥~11 小时前
Day 07 _ 那条 1px 的线,为什么在手机上忽粗忽细
前端·css·样式·学习资料
论迹复利11 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
小江的记录本11 小时前
【CSS】CSS 动画:transition、animation、transform、CSS3 新特性(附《思维导图》)
前端·css·安全·spring·前端框架·css3·动画
circuitsosk11 小时前
任务规划器的三种范式对比:ReAct、Plan-and-Execute 与 Tree-of-Thought 在真实业务中的取舍
前端·javascript·python·react.js·llm·ai agent
张宇Joaquin11 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
736c11 小时前
C语言-数组 07
c语言·开发语言
宸津-代码粉碎机12 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
hzxpaipai12 小时前
企业官网技术架构拆解:前端、后台、数据库、服务器如何协同
前端·数据库·架构