国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES6之 變量的解構賦值 ? 擴展運算符(…)

這篇具有很好參考價值的文章主要介紹了ES6之 變量的解構賦值 ? 擴展運算符(…)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 變量的解構賦值

1.1 直接解構賦值

  • 一看就懂,代碼如下:

    <script>
        console.log("=======1.數組的解構=======");
    
        const DOG_NAMES = ['麥兜','泡泡','貝塔'];
        let [mai,pao,bei] = DOG_NAMES;
    
        console.log(mai); //麥兜
        console.log(pao); //泡泡
        console.log(bei); //貝塔
    
    
        console.log("\n\n\n\n=======2.對象的解構=======");
    
        const dog_1 = {
            dogName:'麥兜',
            dogAge:3,
            dogKind:'邊牧',
            dogSex:'女',
            dogPlayGames:function(){
                console.log('狗狗超級愛玩球。。。。');
            }
        }
        /**
         * a. 對象解構的時候,屬性名要和上面聲明的對象里的屬性名一致
         * b. 即:相當于聲明了幾個變量,并對新聲明的變量進行了賦值
         */
        let {dogName,dogAge,dogPlayGames} = dog_1;
        
        console.log(dogName);
        console.log(dogAge);
    
        // dog_1.dogPlayGames();
        dogPlayGames();
    
    </script>
    
  • 效果如下:
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

1.2 解構賦值——修改屬性名

  • 如下:
      const dog_1 = {
          dogName:'麥兜',
          dogAge:3,
          dogKind:'邊牧',
          dogSex:'女'
      }
      let {dogName:dName,dogAge} = dog_1;//dogName 改成 dName
      
      console.log(dName);
    
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

1.3 連續(xù)解構賦值

  • 如下:

       const dog_1 = {
           dogName:'麥兜',
           dogAge:3,
           dogKind:{
               kindId:'A1',
               kindName:'邊牧'
           }
       }
       // let {dogName:dName,dogAge} = dog_1;
    
       // let {dogKind} = dog_1;
       // console.log(dogKind);
       // console.log(dogKind.kindName);
    
       let {dogKind:{kindId:kId,kindName}} = dog_1; //連續(xù)解構賦值
    
       console.log(kId);
    
       console.log(kindName);
    

    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

2. 擴展運算符

2.1 簡介(官網)

  • 什么是擴展運算符(…運算符)?
    就是展開語法 (Spread syntax), 可以在函數調用/數組構造時,將數組表達式或者 string 在語法層面展開;還可以在構造字面量對象時,將對象表達式按 key-value 的方式展開。(譯者注: 字面量一般指 [1, 2, 3] 或者 {name: “mdn”} 這種簡潔的構造方式)。
  • 參考官網:
    官網-展開語法.

2.2 應用例子

2.2.1 簡單例子1

  • 代碼如下:
    <script>
        function sum_1(x,y,z){
            console.log(arguments);
            return x + y + z;
        }
    
        const numbers = [1,2,3];
        let result_1 = sum_1(...numbers);//等價于 let result_1 = sum_1(1,2,3);
        console.log('result_1--->'+result_1);
    </script>
    
  • 效果如下:
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

2.2.2 數組拷貝

  • 代碼如下:
     var arr_1 = ['麥兜','貝塔','泡泡'];
     var arr_2 = [...arr_1]; //數組拷貝
     console.log(arr_2);
    
     arr_2.push('西瓜');
     console.log(arr_2);
    
  • 效果如下:
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言
  • 需要注意的是:
    • 擴展運算符拷貝的是,淺拷貝 (只遍歷一層)
      ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言
    • 再來個例子說明:
      ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

2.2.3 連接多個數組

  • 函數寫法
     let dogs = ['麥兜','貝塔','泡泡'];
     let cats = ['貓咪1','貓咪2'];
    
     let pets_1 = dogs.concat(cats); //使用函數 concat 連接
    
  • 擴展運算符寫法
    let pets_2 = [...dogs,...cats]; //使用擴展運算符連接
    
  • 效果如下:
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

2.2.4 拷貝對象(多層和多維數組一樣)

  • 代碼如下:

    console.log('\n\n\n\n=============拷貝對象===========');
    
    let user_1 = {name:'小花',age:18};
    
    let user_2 = {...user_1};
    user_2.name = '小明';
    
    console.log(user_1);
    console.log(user_2);
    
    console.log('\n\n\n\n=============拷貝對象多層===========');
    
    let pserson_1 = {
        name:'小花',
        age:18,
        schoolInfo:{
            schoolId:1001,
            schoolName:'XXX第一高級中學'
        }
    }
    let person_2 = {...pserson_1};
    person_2.name = '小剛';
    person_2.schoolInfo.schoolName = '第二中學';
    
    console.log(pserson_1);
    console.log(person_2);
    
  • 效果如下:
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-705848.html

2.2.5 合并對象

  • 第一種寫法:
    let school_1 = {name:'北京大學',address:'北京'};
    let school_2 = {...school_1,name:'清華大學',createDate:'1911'}; //在copy時,修改屬性以及添加屬性
    
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言
  • 第二種寫法:
    var obj1 = { foo: "bar", x: 42 };
    var obj2 = { foo: "baz", y: 13 };
    
    var mergedObj = { ...obj1, ...obj2 };
    // 合并后的對象:{ foo: "baz", x: 42, y: 13 }
    
    ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

2.2.6 關于展開對象(jsx)

  • 單獨使用原生 js 的話,對象是不能通過擴展運算符進行展開的。
  • 可以通過 jsxbabel )來展開:
    • 代碼如下:
      ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言
      <script type="text/babel">
          //1. 創(chuàng)建組件
          class DogComponent extends React.Component{
              render(){
      
                  const {dogName,dogAge,dogKind,dogDesc} = this.props;//對象的解構賦值
      
                  return(
                      <ul>
                          <li>姓名:{dogName}</li>
                          <li>年齡:{dogAge}</li>
                          <li>種類:{dogKind}</li>
                          <li>備注:{dogDesc}</li>
      
                          <li>備注-2{this.props.dogDesc}</li>
                      </ul>
                      
                  )
              }
          }
      
          //2. 定義對象
          const dog ={
              dogName:'麥兜',
              dogAge:3,
              dogKind:'邊牧',
              dogDesc:'溫柔、撒嬌、粘人、偶爾調皮~'
          }
      
          //3. 渲染組件到頁面
          ReactDOM.render(<DogComponent {...dog}/>,document.getElementById('dog'));
      
      </script>
      
    • 效果如下:
      ES6之 變量的解構賦值 ? 擴展運算符(…),VUE + JS、ES6、NodeJs等,es6,javascript,開發(fā)語言

到了這里,關于ES6之 變量的解構賦值 ? 擴展運算符(…)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • ES6鏈判斷運算符(?.)的正確打開方式

    在實際應用中,如果讀取對象內部 的某個屬性,往往需要判斷一下,屬性的上層對象是否存在。比如,讀取message.body.user.firstName這個屬性,安全的寫法是寫成下下面這樣: 上面的例子,firstName屬性在對象的第四層,所以需要判斷四次,每一層是否有值。三元運算符也常用于

    2024年02月13日
    瀏覽(23)
  • ES6中Null判斷運算符(??)正確打開方式-

    讀取對象屬性的時候,如果某個屬性的值是null或者undefined,有時候需要為它們指定默認值。常見的作法是通過||運算符指定默認值。 上面的三行代碼都是通過||運算符指定默認值,但是這樣寫是錯的。我們這樣寫的意愿一般是,只要屬性的值為null或者undefined,默認值就會生效

    2024年02月13日
    瀏覽(22)
  • es6的語法糖,展開運算符,類的實現

    es6的語法糖,展開運算符,類的實現

    ? ? ? 對象存在鍵值對,如果需要解構對象,你需要使用對象的鍵名為變量名 ? ? 字符串的展開 ? 數組的展開 ? 對象的展開 對象 的簡明寫法1: 對象 的簡明寫法2: 具有相同特征的一類事物的抽象 1、使用class 2、類的動態(tài)屬性定義在構造器中(constructor),如果沒有定義

    2024年02月02日
    瀏覽(28)
  • ES9學習 -- 對象的剩余參數與擴展運算符 / 正則擴展 / Promise.finally / 異步迭代

    ES9學習 -- 對象的剩余參數與擴展運算符 / 正則擴展 / Promise.finally / 異步迭代

    // kerwin {age:100,location: ‘dalian’} 其中…other 可以拿到對象的剩余參數 // {name: ‘xiaoming’,location: ‘dalian’,age: 18] 在實際開發(fā)中,我們會使用ajax() 封裝一些默認的屬性和屬性值,以備用戶忘記或未傳入某些參數。 // { methods: “get”, async: true, url: “/api”} 正則表達式命名捕獲

    2024年04月09日
    瀏覽(26)
  • 【JavaScript】JavaScript 運算符 ⑤ ( 賦值運算符 | 基礎賦值運算符 與 復合賦值運算符 )

    【JavaScript】JavaScript 運算符 ⑤ ( 賦值運算符 | 基礎賦值運算符 與 復合賦值運算符 )

    JavaScript 賦值運算符種類 : 基礎賦值運算符 : 等于 : = ; 復合賦值運算符 : 加等 : += 減等 : -= 乘等 : *= 除等 : /= 取模等 : %= 有符號左移等 : = 有符號右移等 : = 無符號左移等 : = 無符號右移等 : = 在 JavaScript 語言中 , \\\" 賦值運算符 \\\" 的 作用是 為 變量 分配值 ; 最基礎的 \\\" 賦值運算

    2024年03月25日
    瀏覽(25)
  • ES6: 解構賦值

    解構賦值是一種快速為變量賦值的簡潔語法,本質上仍然是為變量賦值,分為數組解構、對象解構兩大類型。 數組解構是將數組的單元值快速批量賦值給一系列變量的簡潔語法,如下代碼所示: 數組解構賦值: eg1: eg2: eg3: eg4: eg5: 交換2個變量的值 總結: 賦值運算符 = 左側的

    2024年02月09日
    瀏覽(26)
  • 【ES6】—解構賦值

    【ES6】—解構賦值

    解構賦值:解構賦值就是一種模式的匹配,只要等號兩邊的模式完全相同的,那么左邊的變量就會被賦值對應右邊的值 PS:數組解構賦值時,是通過索引的唯一性賦值的 (1). ES5 的寫法 (2). ES6 的寫法 ES6的寫法 當左右兩邊的結構模式不匹配時,按照左邊變量對應索引的位置賦值

    2024年02月12日
    瀏覽(32)
  • ES6 解構賦值

    解構賦值是一種在編程中常見且方便的語法特性,它可以讓你從數組或對象中快速提取數據,并將數據賦值給變量。在許多編程語言中都有類似的特性。 在 JavaScript 中,解構賦值使得從數組或對象中提取數據變得簡單。它可以用于數組和對象,并且使用相同的語法來解構它們

    2024年02月14日
    瀏覽(29)
  • [ES6]解構與賦值

    解構賦值是對賦值運算符的擴展。 通過解構,可以更加簡單的獲取復雜對象的屬性 解構的源,解構賦值表達式的右邊部分 解構的目標,解構賦值表達式的左邊部分 當變量名稱與對象中的屬性名稱一致時,可簡寫 {attr} 使用解構方式獲取對象參數中的對應屬性,這樣在函數內部

    2023年04月22日
    瀏覽(19)
  • 【React系列】ES6學習筆記(一)let與const、解構賦值、函數參數默認值\rest參數\箭頭函數、數組和對象的擴展、Set和Map等

    本文參考自電子書《ECMAScript 6 入門》:https://es6.ruanyifeng.com/ 盡量使用 let 聲明變量,而不是 var 。 let 聲明的變量是 塊級作用域 , var 聲明的變量是 全局作用域 。 使用 let 變量 必須先聲明再使用,否則報錯,不存在變量提升 。相對的 var 聲明的變量如果提前使用,不會報錯

    2024年02月03日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包