亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

ES6之常量和擴展運算符

enda / 1926人閱讀

摘要:所以在中,只能變通用方法復制擴展運算符三個點復制數(shù)組對象中的擴展運算符可以這樣理解對象中的擴展運算符用于取出參數(shù)對象中所有可遍歷的屬性,拷貝到當前對象中。注和擴展運算符,對一級屬于屬于深拷貝,對后面對級別屬于淺拷貝。

1. ES5定義常量
ES5中通過改變屬性描述符來達到常量的效果,我們可以將屬性定義為只讀。
Object.defineProperty(window,"PI",{
    value:"3.14",
    writable:false
})
2. ES6定義常量

使用const定義

const PI = 3;
3. ES5復制數(shù)組

數(shù)組是復合的數(shù)據(jù)類型,若直接復制,只是復制了指向底層數(shù)據(jù)結構的指針,而不是克隆一個全新的數(shù)組。

var arr = [1,2];
var arr2 = arr;
arr2[0] = 90;
console.log(arr);   //[90,2]
console.log(arr2)   //[90,2]

所以在ES5中,只能變通用concat方法復制

var arr = [1,2];
var arr2 = arr.concat();
arr2[0] = 10;
console.log(arr);   //[1,2]
console.log(arr2);  //[10,2]
4. ES6擴展運算符 ... (三個點)復制數(shù)組
對象中的擴展運算符可以這樣理解:對象中的擴展運算符(...)用于取出參數(shù)對象中所有可遍歷的屬性,拷貝到當前對象中。
let arr = [1,2,3];
let arr2 = [...arr];    // [1,2,3]

假如給拷貝arr2時push一個元素:

let arr2 = [...arr,5];
console.log(arr2);      //[1,2,3,5]
console.log(arr);       //[1,2,3]

可以看到只會改變arr2的值,而不會影響arr的值。同樣改變arr的值也不會影響到arr2的值。

arr.push(12);
console.log(arr);   //[1,2,3,12]
console.log(arr2);  //[1,2,3,5]

所以,上述方法實際上等價于:

let arr = [1,2,3];
let arr2 = Object.assign([],arr);
console.log(arr2);  //[1,2,3]
arr2.push(12);
console.log(arr2);  //[1,2,3,12]
console.log(arr);   //[1,2,3]
Object.assign方法用于對象的合并,將源對象所有的可枚舉屬性復制到目標對象。

注:Object.assign和擴展運算符(...),對一級屬于屬于深拷貝,對后面對級別屬于淺拷貝。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/109542.html

相關文章

  • ES6入門數(shù)值的擴展

    摘要:用來表示與大于的最小浮點數(shù)之間的差,實際上就是能夠表示的最小精度。對象的擴展在對象上新增了個與數(shù)學相關的方法。用于去除一個數(shù)的小樹部分,返回整數(shù)部分。對于非數(shù)值,則用方法將其轉換為數(shù)值,對于空值和無法截取整數(shù)的值,返回。返回以為底的的對數(shù)。 showImg(https://segmentfault.com/img/bVbrTG6?w=1080&h=1080); 1. 二進制和八進制表示...

    tyheist 評論0 收藏0
  • ES6入門數(shù)值的擴展

    摘要:用來表示與大于的最小浮點數(shù)之間的差,實際上就是能夠表示的最小精度。對象的擴展在對象上新增了個與數(shù)學相關的方法。用于去除一個數(shù)的小樹部分,返回整數(shù)部分。對于非數(shù)值,則用方法將其轉換為數(shù)值,對于空值和無法截取整數(shù)的值,返回。返回以為底的的對數(shù)。 showImg(https://segmentfault.com/img/bVbrTG6?w=1080&h=1080); 1. 二進制和八進制表示...

    xi4oh4o 評論0 收藏0
  • ES6 知識整理一(es6快速入門)

    摘要:函數(shù)調用會在內(nèi)存形成一個調用記錄,又稱調用幀,保存調用位置和內(nèi)部變量等信息。等到運行結束,將結果返回到,的調用幀才會消失。方法用于將一組值,轉換為數(shù)組。,和遍歷數(shù)組方法返回一個布爾值,表示某個數(shù)組是否包含給定的值,與字符串的方法類似。 ES6 簡介 ES6, 全稱 ECMAScript 6.0 ,是 JavaScript 的下一個版本標準,2015.06 發(fā)版。 let 和 const...

    elva 評論0 收藏0
  • es6的一些知識點

    摘要:的一些知識點前言標準的一些區(qū)別塊級作用域全局作用域函數(shù)作用域全局作用域函數(shù)作用域變量提升的問題例子塊級作用域例如在一個函數(shù),循環(huán)。。。 es6的一些知識點 前言:es6(ECMAscript2015)標準 let、const、var的一些區(qū)別 let、const 塊級作用域、全局作用域、函數(shù)作用域 var 全局作用域、函數(shù)作用域 變量提升的問題: var : ...

    cnio 評論0 收藏0
  • ES6

    摘要:返回布爾值,表示參數(shù)字符串是否在源字符串的尾部。我們可以往里面添加刪除查詢數(shù)據(jù)先聲明一個對象往這個集合對象中添加元素判斷集合中是否存在一個元素返回一個布爾值,表示該值在中存在與否。 一、 ES6 基本語法 1.1 let 作用域就是一個變量的有效的范圍,就是你聲明一個變量以后,這個變量在什么場合可以使用它。以前JavaScript只有全局作用域和函數(shù)作用域,現(xiàn)在JavaScript也有...

    Cobub 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<