日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

ES6新增聲明格式、變量解構賦值及模板字符串

作者:1900's 88 keys 更新時間: 2022-01-16 編程語言

ES6新增聲明格式

let變量聲明及特性

let變量是ES6新增的申明格式,用于補齊ES5標準中var聲明變量的不足

1、let 聲明的變量不能重復聲明
使用ES6語法中的let重復聲明一個變量就會報錯,這樣能防止變量污染

let a = "心猿";
let a = "意馬";

在這里插入圖片描述

使用ES5語法中的var重復聲明一個變量,則能正常輸出打印。

var a = "心猿";
var a = "意馬";
console.log(a);

在這里插入圖片描述


2、let 聲明的變量只在塊級作用域有效
塊級作用域用{}表示

在塊級作用域中使用let申明的變量,在塊級作用域外,是無法訪問的

    {
        let a = 10
    }
    console.log(a)

在這里插入圖片描述
在塊級作用域中使用var申明的變量,在塊級作用域外,是可以訪問的

    {
        var = 10
    }
    console.log(a)

在這里插入圖片描述


3、let不存在申明變量提升
let聲明的變量不會使變量提升,提前打印該變量會報錯

	console.log(a)
    let = 10

在這里插入圖片描述
在JavaScript中用var來聲明變量會出現變量提升的情況,即通過var聲明的變量,系統都會把聲明隱式的升至頂部,提前打印會輸出undefined

	console.log(a)
    var = 10

在這里插入圖片描述


4、let申明變量不會影響作用鏈

    {
        let name = "江流"
        function fn(){
            console.log(name);
        }
        fn()
    }

在這里插入圖片描述


const常量聲明及特性

使用const聲明的是常量,常量的值不能通過重新賦值來改變,并且不能重新聲明

1、const聲明的常量一定要賦初始值

 const A = 10;

不賦初始值會報錯

 const A;//不賦初始值會報錯

在這里插入圖片描述
2、 const聲明的常量一般常量使用大寫(潛規則)
使用小寫也沒有關系。

 const A = 10; 

3、 const聲明的常量只在塊級作用域有效,在塊級作用域外,是無法訪問的

     {
         const A = 10;
     }
     console.log(A);

4、 對于數組和對象的元素修改,不算是對常量的修改

    const ARR =  ["江流","心猿","木龍","刀圭"];
    ARR.push("意馬");
    console.log(ARR);

在這里插入圖片描述


變量解構賦值

Spread / Rest 操作符 :Spread / Rest 操作符指的是 ...,具體是 Spread 還是 Rest 需要看上下文語境。

  1. 當被用于迭代器中時,它是一個 Spread 操作符:迭代器 (Iterator)是按照一定的順序對一個或多個容器中的元素行進遍歷的一種機制
    function foo(x,y,z) {
      console.log(x,y,z);
    }
    let arr = [1,2,3];
    foo(...arr); // 1 2 3
  1. 當被用于函數傳參時,是一個 Rest 操作符:當被用于函數傳參時,是一個 Rest 操作符:
 function foo(...args) {
   console.log(args);
 }
 foo( 1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
  1. 在ES6中允許按照一定模式從數組和對象中提取值,對變量進行賦值,這稱為解構賦值

數組結構

  1. 一一對應關系的賦值
    等號右邊的值會按照順序依次賦值給左邊的變量。
        const ARR = ["江流", "心猿", "木龍", "刀圭"];
        let [a, b, c, d] = ARR;
        console.log(a, b, c, d);

在這里插入圖片描述

  1. 非一一對應關系的賦值
    let [a,b] = [10,20,30]
    console.log(a,b); //輸出10,20

    let [a,b,c] = [10,20]
    console.log(a); //10
    console.log(b); //20
    console.log(c); //undefined
  1. 也可以通過...把特定的元素放在變量里
      let [a,...arr] = [10,20,30]
      console.log(a); //10
      console.log(arr); //20,30
  1. 在ES6中可以通過解構賦值來互換變量
      let a = 10;
      let b = 20;
      [a,b] = [b,a];
      console.log(a,b)//20,10

對象的解構

  1. 對象解構的寫法與數組解構類似
    let obj = {
        name: '張三',
        age: 20,
        height: '178com'
    }

    let { name,age,height } = obj; //變量的名稱必須和對象的屬性名相同
      console.log(name,age,height);
  1. 也可以解構多層對象
      let person = {
          name: '張三',
          age: 20,
          family: {
              father: '張武',
              mother: '李燕'
          }
      }
      let { name,age,family: {father,mother }} = person
      console.log(name,father)
  1. 在解構對象時也可以自定義變量名稱:
      let obj = {
          name: '張三',
          age: 20
      }
      let { name:myname,age:myage } = obj;
      console.log(myname,myage);
  1. 解構的默認值和參數的解構:

(1)不管是數組的解構賦值,還是對象的解構賦值都可以添加默認參數。如下:

  let obj = {
      name: '李四',
      age: 20
  }

  let { name,age,height="178cm" } = obj;
  console.log(height); //178cm

(2)在函數參數中使用解構,參數解構也可以給默認參數

      function fun({name,age,height="178com"} = {}){
          console.log(name,age); //張三,20
      }
      let obj = {
          name: '張三',
          age: 20
      }
      fun(obj)//張三 20

模板字符串

ES6引入新的聲明字符串的方式``

  1. 申明字符串
let str =  `我是一個字符串`;
console.log(str);

在這里插入圖片描述

  1. 內容中可以直接出現換行符
 let str = `
    <ul>
        <li>第1天</li>
        <li>第2天</li>
        <li>第3天</li>
        <li>第4天</li>
        <li>第5天</li>
    </ul>`;
console.log(str);

在這里插入圖片描述

  1. 字符串的拼接,模板字符串通過反引號來表示``,如果要嵌入變量通過${ 變量名 }來實現:
  let str = "馬少爺";
  console.log(`${str},你爸真有錢?。?!`);

在這里插入圖片描述

原文鏈接:https://blog.csdn.net/weixin_45660621/article/details/121862844

欄目分類
最近更新