当前位置:   article > 正文

整理尚硅谷项目中 前端 ES6的常用语法_es6语法 to?.

es6语法 to?.

目录

5、ECMAScript 6

5.1 let 和 var

5.2 const声明常量(只读常量)

5.3 解构赋值

5.4 模板字符串

5.5 定义对象

5.6 对象拓展运算符

5.7 箭头函数


5、ECMAScript 6

5.1 let 和 var

let设置是有局部范围 ,var没有局部范围

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.        // var 声明的变量没有局部作用域
  11. // let 声明的变量 有局部作用域
  12.    <script>
  13.       {
  14.            var a = 1;
  15.            let b = 2;
  16.       }
  17.        console.log(a);  // 1
  18.        console.log(b);  // b is not defined
  19.    </script>
  20. </body>
  21. </html>

let只能设置一次,var可以设置多次

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.        // var 可以声明多次
  12. // let 只能声明一次
  13.        var m = 1;
  14.        var m = 2;
  15.        let n = 10;
  16.        let n = 20; //'n' has already been declared
  17.        console.log(m);
  18.        console.log(n);
  19.    </script>
  20. </body>
  21. </html>

5.2 const声明常量(只读常量)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.     // 1、声明之后不允许改变    
  12.    const PI = "3.1415926"
  13.    PI = 3     // TypeError: Assignment to constant variable.
  14.    // 2、一但声明必须初始化,否则会报错
  15.    const MY_AGE  // Missing initializer in const declaration
  16.    </script>
  17. </body>
  18. </html>

5.3 解构赋值

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.        //数组的解构赋值
  12.        let a = 1,
  13.            b = 2,
  14.            c = 3;
  15.        console.log(a, b, c);
  16.        //ES6
  17.        let [x, y, z] = [1, 2, 3];
  18.        console.log(x, y, z);
  19.        //2.对象的解构赋值
  20.        let user = {name: 'HELEN', age: 18};
  21.        //传统方式
  22.        let name1 = user.name;
  23.        let age1 = user.age;
  24.        console.log(name1,age1);
  25.        //ES6
  26.        let {name, age} = user;  //注意:解构的变量必须是user中的属性
  27.        console.log(name, age)
  28.    </script>
  29. </body>
  30. </html>

5.4 模板字符串

模板字符串相当于加强版的字符串,用反引号``,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.        //字符串插入变量和表达式。变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式。
  12.        let  name  =  "lucy"
  13.        let  age  =  20
  14.        // `这个是tab键上面的那个按钮
  15.        let  info  =  `My name is ${name} ,I am ${age+1}`
  16.        console.log(info)
  17.    </script>
  18. </body>
  19. </html>

5.5 定义对象

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.        //传统方式定义对象
  12.        const name = "lucy";
  13.        const age = 20;
  14.        const user1 = {
  15.            name: name,
  16.            age: age
  17.       };
  18.        console.log(user1);
  19.        //ES6方式定义 name和定义的name一样可以省略
  20.        const user2 = {
  21.            name,
  22.            age
  23.       };
  24.        console.log(user2);
  25.    </script>
  26. </body>
  27. </html>

5.6 对象拓展运算符

... 用于取出参数对象所有可遍历属性然后拷贝到当前对象

 

5.7 箭头函数

箭头函数提供了一种更加简介的函数书写方式,基本语法是

参数 => 函数头

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.      //对象复制
  12.        let person1 = {name: "Amy", age: 15}
  13.        let someone1 = { ...person1}
  14.        console.log(someone1)
  15.        //对象合并
  16.        let age = {age: 15}
  17.        let name = {name: "Amy"}
  18.        let person2 = {...age, ...name}
  19.        console.log(person2)
  20.    </script>
  21. </body>
  22. </html>

箭头函数多用于匿名函数的定义

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.    <title>Document</title>
  8. </head>
  9. <body>
  10.    <script>
  11.       //传统方式定义函数
  12.        var f1 = function(a) {
  13.           return a;
  14.       }
  15.        console.log(f1(3));
  16.        //es6使用箭头函数定义
  17.        //参数 => 函数体
  18.        var f2 = a => a;
  19.        console.log(f2(4));
  20. //传统方式定义函数
  21.        var f3 = function(m,n) {
  22.           return m+n;
  23.       }
  24.        console.log(f2(3));
  25.        //es6使用箭头函数定义
  26.        //参数 => 函数体
  27.        var f4 = (m,n) => m+n;
  28.        console.log(f4(4,5));
  29.    </script>
  30. </body>
  31. </html>

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/673883
推荐阅读
相关标签
  

闽ICP备14008679号