当前位置: 首页 > article >正文

ES6具体有什么

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

1. let 和 const
  • let:用于声明一个块级作用域的变量(替代传统的 var)。它的作用域限制在当前代码块内(如 iffor 等)。
  • const:用于声明一个常量,一旦赋值后不能修改其值。常量也遵循块级作用域。
    
    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 的值由外部作用域决定。

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

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

    
    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)

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

    
    // 数组解构
    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 时导致错误

    function greet(name = 'Guest') {
        console.log(`Hello, ${name}!`);
    }
     
    greet();  // Hello, Guest!
    greet('Alice');  // Hello, Alice!


http://www.kler.cn/a/543917.html

相关文章:

  • 性格测评小程序04题库管理
  • 【Linux】Ubuntu Linux 系统 ——PHP开发环境
  • pytorch笔记:mm VS bmm
  • 【漏洞复现】Casbin get-users 账号密码泄漏漏洞
  • Vim操作笔记
  • Java多线程——线程池的使用
  • 爬虫瑞数5.5案例:某钢材交易官网(面向对象补环境)
  • Docker 部署 MySQL-5.7 单机版
  • 13.13 Flask Web Server 架构设计与生产级实现指南:从 RESTful API 开发到高并发优化
  • 【NXP i.MX6ULL 使用】IMX6Y2C-512M-EMMC 设备树配置文档
  • Windows上在Qt中快速配置OpenCV库(最简单教程)
  • ffmpeg所有版本下载地址
  • PyTorch Lightning LightningDataModule 介绍
  • 【Linux】nmcli命令详解
  • 2025.1.8(qt图形化界面之消息框)
  • Win10环境借助DockerDesktop部署最新MySQL9.2
  • JVM速成=。=
  • 【java】java学习笔记之java 进阶
  • CCF-CSP第34次认证第二题——矩阵重塑(其二)【需反复思考学习!!!】
  • DeepSeek 模型的本地部署指南
  • Ubuntu 上安装和配置 Nexus Repository Manager
  • 相机模数转换
  • AWTK-WEB 快速入门(4) - JS Http 应用程序
  • 关于 IoT DC3 中设备(Device)的理解
  • 使用Node.js进行串口通信
  • 力扣-二叉树-144.145. 94 前、后、中序遍历,