摘要:所以在中,只能變通用方法復(fù)制擴(kuò)展運(yùn)算符三個點(diǎn)復(fù)制數(shù)組對象中的擴(kuò)展運(yùn)算符可以這樣理解對象中的擴(kuò)展運(yùn)算符用于取出參數(shù)對象中所有可遍歷的屬性,拷貝到當(dāng)前對象中。注和擴(kuò)展運(yùn)算符,對一級屬于屬于深拷貝,對后面對級別屬于淺拷貝。
1. ES5定義常量
ES5中通過改變屬性描述符來達(dá)到常量的效果,我們可以將屬性定義為只讀。
Object.defineProperty(window,"PI",{ value:"3.14", writable:false })2. ES6定義常量
使用const定義
const PI = 3;3. ES5復(fù)制數(shù)組
數(shù)組是復(fù)合的數(shù)據(jù)類型,若直接復(fù)制,只是復(fù)制了指向底層數(shù)據(jù)結(jié)構(gòu)的指針,而不是克隆一個全新的數(shù)組。
var arr = [1,2]; var arr2 = arr; arr2[0] = 90; console.log(arr); //[90,2] console.log(arr2) //[90,2]
所以在ES5中,只能變通用concat方法復(fù)制
var arr = [1,2]; var arr2 = arr.concat(); arr2[0] = 10; console.log(arr); //[1,2] console.log(arr2); //[10,2]4. ES6擴(kuò)展運(yùn)算符 ... (三個點(diǎn))復(fù)制數(shù)組
對象中的擴(kuò)展運(yùn)算符可以這樣理解:對象中的擴(kuò)展運(yùn)算符(...)用于取出參數(shù)對象中所有可遍歷的屬性,拷貝到當(dāng)前對象中。
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]
所以,上述方法實(shí)際上等價于:
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方法用于對象的合并,將源對象所有的可枚舉屬性復(fù)制到目標(biāo)對象。
注:Object.assign和擴(kuò)展運(yùn)算符(...),對一級屬于屬于深拷貝,對后面對級別屬于淺拷貝。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109542.html
摘要:用來表示與大于的最小浮點(diǎn)數(shù)之間的差,實(shí)際上就是能夠表示的最小精度。對象的擴(kuò)展在對象上新增了個與數(shù)學(xué)相關(guān)的方法。用于去除一個數(shù)的小樹部分,返回整數(shù)部分。對于非數(shù)值,則用方法將其轉(zhuǎn)換為數(shù)值,對于空值和無法截取整數(shù)的值,返回。返回以為底的的對數(shù)。 showImg(https://segmentfault.com/img/bVbrTG6?w=1080&h=1080); 1. 二進(jìn)制和八進(jìn)制表示...
摘要:用來表示與大于的最小浮點(diǎn)數(shù)之間的差,實(shí)際上就是能夠表示的最小精度。對象的擴(kuò)展在對象上新增了個與數(shù)學(xué)相關(guān)的方法。用于去除一個數(shù)的小樹部分,返回整數(shù)部分。對于非數(shù)值,則用方法將其轉(zhuǎn)換為數(shù)值,對于空值和無法截取整數(shù)的值,返回。返回以為底的的對數(shù)。 showImg(https://segmentfault.com/img/bVbrTG6?w=1080&h=1080); 1. 二進(jìn)制和八進(jìn)制表示...
摘要:函數(shù)調(diào)用會在內(nèi)存形成一個調(diào)用記錄,又稱調(diào)用幀,保存調(diào)用位置和內(nèi)部變量等信息。等到運(yùn)行結(jié)束,將結(jié)果返回到,的調(diào)用幀才會消失。方法用于將一組值,轉(zhuǎn)換為數(shù)組。,和遍歷數(shù)組方法返回一個布爾值,表示某個數(shù)組是否包含給定的值,與字符串的方法類似。 ES6 簡介 ES6, 全稱 ECMAScript 6.0 ,是 JavaScript 的下一個版本標(biāo)準(zhǔn),2015.06 發(fā)版。 let 和 const...
摘要:的一些知識點(diǎn)前言標(biāo)準(zhǔn)的一些區(qū)別塊級作用域全局作用域函數(shù)作用域全局作用域函數(shù)作用域變量提升的問題例子塊級作用域例如在一個函數(shù),循環(huán)。。。 es6的一些知識點(diǎn) 前言:es6(ECMAscript2015)標(biāo)準(zhǔn) let、const、var的一些區(qū)別 let、const 塊級作用域、全局作用域、函數(shù)作用域 var 全局作用域、函數(shù)作用域 變量提升的問題: var : ...
閱讀 1833·2023-04-26 02:32
閱讀 582·2021-11-18 13:12
閱讀 2461·2021-10-20 13:48
閱讀 2535·2021-10-14 09:43
閱讀 3845·2021-10-11 10:58
閱讀 3525·2021-09-30 10:00
閱讀 2946·2019-08-30 15:53
閱讀 3499·2019-08-30 15:53