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!
相关推荐
We་ct4 小时前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
skywalk81634 小时前
在考虑双轨制,即在中文语法的基础上,加上数学公式的支持,这样像很多计算将更加简单方便,就像现在的小学数学课本里面一样,比如:定x=2*x + 1
开发语言
小书房4 小时前
Kotlin的by
android·开发语言·kotlin·委托·by
weixin_427771614 小时前
前端调试隐藏元素
前端
就叫飞六吧4 小时前
QT写一个桌面程序exe并动态打包基本流程(c++)
开发语言·c++
threelab5 小时前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
V搜xhliang02465 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
kaikaile19955 小时前
风、浪、流环境模型的船舶三自由度(纵荡、横荡、艏摇)运动仿真MATLAB
开发语言·人工智能·matlab
fish_xk5 小时前
map和set
java·开发语言
李崧正5 小时前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python