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!
相关推荐
我命由我123452 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_3 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
抱抱宝3 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
东风破_3 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
用户938515635073 小时前
Next.js 笔记系统(二):Redis 数据服务与侧边栏组件拆分实战
javascript·全栈
WWJA王文举3 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha13144 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
圣殿骑士-Khtangc5 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
qq_448011165 小时前
C语言中的动态内存分配
c语言·开发语言·php
BigTopOne5 小时前
【ijkplayer】 硬解码流程
前端