• 快速入门ES6语法(ECMAScript 6)


    目录

    ​编辑

    🍎前言

    🍎语法

    🔰let声明变量

    🔰const声明变量

    🔰解构赋值

    🔰模板字符串

    🔰声明对象简化

    🔰定义方法简化

    🔰对象拓展运算符

    🔰箭头函数


    🍎前言

    ECMAScript 6(简称 ES6)是 JavaScript 语言的下一代标准,在 2015 年 6 月正式发布。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。对于常见的ES6和JS是什么关系的话题呢,我在这里提一下:ES6是JS的规格,而JS是ES6的一种实现。

    🍎语法

    🔰let声明变量

     在使用ES6之前我们更多的是使用var来声明一个变量,而var变量的声明是没有作用域的概念的,使用var对相同的变量名是可以声明多次的;而let就是用解决这些问题的,let具有作用域的概念同时也不可以同一个变量名声明多次,演示如下:

    • 演示作用域范围 
    1. <script>
    2. {
    3. var a = 1;
    4. let b = 2;
    5. }
    6. console.log("a = ",a);
    7. console.log("b = ",b);
    8. </script>

    输出结果:(可以看到let声明的变量是由作用域的范围的,而var恰恰相反)

    • 演示变量声明 

    🔰const声明变量

    const声明常量很容易理解,这跟Java中的final关键字很像,声明的同时必须赋值,而且不能再对它进行二次赋值,演示如下: 

    1. <script>
    2. const a = 0;
    3. a = 1;
    4. console.log(a);
    5. </script>

    输出结果:(可以看到因为我对它进行了二次赋值,报错了) 

    🔰解构赋值

    解构赋值是对赋值运算符的扩展,该赋值写法我觉得比较人性化,简洁了不少,演示如下: 

    1. <script>
    2. // 同时声明多个变量并赋值
    3. let a = 1, b = 2;
    4. console.log(a, b)
    5. // ES6声明并赋值写法
    6. let [c, d] = [3, 4]
    7. console.log(c, d)
    8. </script>

     输出结果:

    🔰模板字符串

     模板字符串相当于加强版的字符串,可以用来定义多行字符串,还可以在字符串中加入变量或者是表达式,演示如下:

    1. <script>
    2. // 多行字符串
    3. let a = `窗前明月光
    4. 床下鞋两双`;
    5. console.log(a);
    6. // 字符串中加入变量
    7. let b = "李太白";
    8. let c = `作者:${b}`;
    9. console.log(c);
    10. // 字符串中调用函数
    11. function x(){
    12. return "地雷埋下土";
    13. }
    14. let d = `${x()},双双入黄土`
    15. console.log(d);
    16. </script>

    输出结果:(没毛病吧,这诗,哈哈~)

     

    🔰声明对象简化

     对声明对象进行了简写,至于如何简化的可以看下栗子:

    1. <script>
    2. let age = 100
    3. let name = "李太白"
    4. // 传统
    5. let pro = { name: name, age: age }
    6. console.log("以前的写法:",pro)
    7. // ES6
    8. let pro2 = { name, age }
    9. console.log("ES6写法:",pro2)
    10. </script>

    输出结果:(可以看出没什么区别,但是简化了写法) 

    🔰定义方法简化

    这个也是进行了写法的简化,如下栗子:

    1. <script>
    2. // 以前得写法
    3. const person1 = {
    4. x1: function () {
    5. console.log("以前的写法")
    6. }
    7. }
    8. person1.x1();
    9. // ES6写法
    10. const person2 = {
    11. x2() {
    12. console.log("ES6写法")
    13. }
    14. }
    15. person2.x2();
    16. </script>

     

    输出结果:(能正常的调用,没毛病) 

     

    🔰对象拓展运算符

    拓展运算符(...)用于取出参数对象所有可遍历属性然后拷贝到当前对象,如下栗子:

    1. <script>
    2. // 对象的拷贝
    3. let person1 = { name: "李白", age: 10 };
    4. let someone = { ...person1 };
    5. console.log("对象的拷贝:",someone);
    6. // 对象的合并
    7. let name = { name: "李太白" };
    8. let age = { age: 100 };
    9. let person2 = { ...name, ...age };
    10. console.log("对象的合并",person2);
    11. </script>

    输出结果:

    🔰箭头函数

    箭头函数提供了一种更加简洁的函数书写方式。箭头函数多用于匿名函数的定义,语法是这样的:(参数1,参数2) => {函数体};看下面的栗子:

    1. <script>
    2. // 正常写法
    3. var f1 = function (a) {
    4. return a + 1;
    5. };
    6. console.log("正常写法:", f1(2));
    7. // ES6箭头函数写法:
    8. // 一个参数的写法
    9. var f2 = (a) => { return a + 1 };
    10. console.log("一个参数的写法:", f2(2));
    11. // 以上语句可以简化成
    12. // 只有一个参数可以不需要括号
    13. // 只有一条语句并且需要返回时可以不需要花括号
    14. var f3 = a => a + 1;
    15. console.log("一个参数写法的简化:", f3(2));
    16. // 多个参数的写法
    17. var f4 = (a, b) => a + b;
    18. console.log("多个参数的写法", f4(2, 3));
    19. // 无参数的写法
    20. var f5 = () => { console.log("乌拉~~~~~") };
    21. console.log("无参数的写法", f5());
    22. </script>

    输出结果: 

     

    需要注意的地方:

    •  当箭头函数没有参数或者有多个参数,要用 () 括起来
    • 当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块
    • 当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回

    今天就到这里啦~对你有帮助的话不妨留个赞呗!

     🥇原创不易,还希望各位大佬支持一下!

    👍点赞,你的认可是我创作的动力 !

    🌟收藏,你的青睐是我努力的方向!

    ✏️评论,你的意见是我进步的财富!

  • 相关阅读:
    C++设计模式_创建型模式_工厂方法模式
    靶机 Raven2 / UDF 提权
    基于tushare和mongo,玩转qlib自带的数据库
    jenkins 中文乱码及执行报错
    autoshop梯形图谁写一下,不知道怎么完成这个
    基于Java Web的在线教学质量评价系统的设计与实现
    当try_files遇上gateway是如何产生火花的
    css:img引入svg后修改颜色
    centOS7| 编译安装 gdal 库
    EMANE中olsrd的调试
  • 原文地址:https://blog.csdn.net/qq_38238956/article/details/125002916