es6知識(shí)總結(jié)--3
上午發(fā)表了一個(gè)總結(jié)覺得還是把自己的了解做成一個(gè)小系列吧,明天把那個(gè)總結(jié)一下!
es6對(duì)咱們es3,es5的數(shù)據(jù)類型進(jìn)行了升級(jí)下邊說新APIs!
js數(shù)據(jù)類型有Number、String 、oject、Boolean、Null、Undefined六種數(shù)據(jù)類型 !
下邊介紹 Math、Number、String 、Array、Boject的新 APIs
Math
Number
String
Array
Boject
Math下邊我們介紹三個(gè)覺得大家能用的著的屬性Math.trunc()、Math.sqrt()、Math.sign()
let a=Math.trunc(4.1); //trunc去除整數(shù)的小數(shù)點(diǎn)部分 console.log(a)//4 let b=Math.sign(-4); //sign方法用于判斷一個(gè)數(shù)為正、負(fù)、0 let c=Math.sign(4.1); let d=Math.sign(0); console.log(b);//-1 console.log(c);//1 console.log(d);//0 let e=Math.sqrt(4) //sqrt 用于開一個(gè)數(shù)的平方根 console.log(e)//2 let f=Math.cbrt(27); console.log(f); //3*/Number
console.log(Number.isInteger(12)); //true //isInteger判斷數(shù)組是否為整數(shù) console.log(Number.isInteger(12.3)); //flase console.log(Number.isNaN(12145)) //false //isNaN用于檢查數(shù)組是否為NaN console.log(Number.isNaN(NaN)) // trueString
var str="javascript"; console.log(str.includes("java"));//true //includes()用來檢查字符串是否有該連接字符 console.log(str.includes("javt"));//false console.log(str.startsWith("ja"));//true //startsWith用來檢查字符串以什么開頭 console.log(str.endsWith("pt"));//true //endsWith以什么結(jié)尾 console.log("1".repeat(20))//20 個(gè) 1 //repeat用來復(fù)制字符串Array
let arr=[1,2,3,4,5]; let arr1=Array.from(arr); //Array.from() 用來拷貝一份 arr1=[2,2,3,4,55]; console.log(arr) console.log(arr1);//[2,2,3,4,55] console.log(Array.of(1,2,3)) //Array.of用于創(chuàng)建一個(gè)數(shù)組 let shuzu=[1,2,3,4,5,6] console.log(shuzu.fill(4,1)) //fill傳兩個(gè)值后邊那個(gè)規(guī)定從一位開始全部替換*/object
let obj={x:1,y:1}; let obj1={}; Object.assign(obj1,obj) //Object.assign obj1.x=2; /*1.合并多個(gè)對(duì)象;2.克隆對(duì)象;3.為數(shù)組添加多個(gè)方法*/ console.log(obj1) let obj2={a:2,b:"c"}; //let obj1= Object.assign({},obj2,obj); // console.log(obj1)//Object {a: 2, b: "c", x: 1, y: 1} let obj3={aa:1,bb:2} Object.assign(obj3,{ sayhello:()=>{}, sayhi:()=>{} }) let person={ name:"huahua", sex:"nan", age:18 } let tao={ // __proto__:person, xh:123 } // console.log(tao) Object.setPrototypeOf(tao,person) //setPrototypeOf用于設(shè)置繼承屬性 console.log(tao.name)
同樣es6新規(guī)定了一個(gè)==Symbol==新屬性
ES5對(duì)象屬性名都是字符串容易造成屬性名的沖突。
var a = { name: "lucy"}; a.name = "lili"; 這樣就會(huì)重寫屬性
說的明白點(diǎn)其實(shí)Symbol就是為了處理這件事情,它表示獨(dú)一無二的值
Symbol值不能與其他類型的值進(jìn)行運(yùn)算
// 沒有參數(shù)的情況 var s1 = Symbol(); var s2 = Symbol(); console.log(s1 === s2) // false // 有參數(shù)的情況 var s1 = Symbol("foo"); var s2 = Symbol("foo"); console.log(s1 === s2) // false
Symbol值作為對(duì)象屬性名時(shí),不能用點(diǎn)運(yùn)算符
var mySymbol = Symbol(); // 第一種寫法 var a = {}; a[mySymbol] = "Hello!"; // 第二種寫法 var a = { [mySymbol]: "Hello!" }; // 第三種寫法 var a = {}; Object.defineProperty(a, mySymbol, { value: "Hello!" }); // 以上寫法都得到同樣結(jié)果 console.log(a[mySymbol]) // "Hello!"
防止對(duì)象的屬性被串改
let chenxu={ name:"chenxu", age:"17" } chenxu.name="晨旭" console.log(chenxu);//被修改*/ let chenxu1={ [Symbol("name")]:"chenxu", age:"17" } chenxu1[Symbol("name")]="晨旭"; console.log(chenxu1.name);//undefind console.log(chenxu1) //Object {age: "17", Symbol(name): "chenxu", Symbol(name): "晨旭"}
但是這里的Symbol在類外部也是可以訪問的,只是不會(huì)出現(xiàn)在for...in、for...of循環(huán)中,也不會(huì)被Object.keys()、Object.getOwnPropertyNames()返回。但有一個(gè)Object.getOwnPropertySymbols方法,可以獲取指定對(duì)象的所有Symbol屬性名!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/83966.html
摘要:知識(shí)點(diǎn)總結(jié)一,,能重復(fù)聲明,有前置功能。淺拷貝一個(gè)數(shù)組設(shè)置原型。永遠(yuǎn)是唯一的,不可能和別的重復(fù),可以阻止對(duì)象的屬性被篡改前面不能使用操作符。和的區(qū)別鍵名可以是任何數(shù)據(jù)類型初始化的時(shí)候必須一次性指定鍵名和鍵值。 es6知識(shí)點(diǎn)總結(jié)(一) let,var,const var:能重復(fù)聲明,有前置功能。 let:有塊級(jí)作用域,沒有前置功能,不能重復(fù)聲明。 const:有塊級(jí)作用域,用來聲明常量(...
摘要:的翻譯文檔由的維護(hù)很多人說,阮老師已經(jīng)有一本關(guān)于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書的目的是以目前還在制定中的ECMASc...
摘要:函數(shù)中使用關(guān)鍵詞定義構(gòu)造函數(shù)的的方法和屬性上面代碼首先用定義了一個(gè)類,可以看到里面有一個(gè)方法,這就是構(gòu)造方法,而關(guān)鍵字則代表實(shí)例對(duì)象。這是因?yàn)樽宇悰]有自己的對(duì)象,而是繼承父類的對(duì)象,然后對(duì)其進(jìn)行加工。 ES6 classes(類) 我們?cè)诰幊踢^程中常常用到面向?qū)ο?,?duì)象創(chuàng)建實(shí)例這個(gè)方法,但是es6中給我封裝了一個(gè)class類下邊給大家介紹一下! Ecmascript5方法 //萬事萬物...
摘要:感覺對(duì)我這種沒實(shí)習(xí)沒工作的新手,雖然一些高級(jí)的功能暫時(shí)用不上,但是一些基礎(chǔ)的知識(shí)還是為平時(shí)的開發(fā)提供了巨大的便利。學(xué)習(xí)告一段落,現(xiàn)在結(jié)合平時(shí)的開發(fā),總結(jié)一些常用的知識(shí)。日常開發(fā)中,塊級(jí)作用域中使用的變量,盡量使用或者聲明。使用時(shí),進(jìn)行合并。 很早之前就學(xué)過TypeScript和ES6,后來做項(xiàng)目的時(shí)候零零散散用了些。這幾天又系統(tǒng)地把ES6的知識(shí)看了一遍。感覺對(duì)我這種沒實(shí)習(xí)沒工作的新手,...
摘要:常用知識(shí)總結(jié)之前總結(jié)了中的一些知識(shí)點(diǎn)。在年正式發(fā)布了,簡(jiǎn)稱,又稱為。作為構(gòu)造函數(shù)的語法糖,同時(shí)有屬性和屬性,因此同時(shí)存在兩條繼承鏈。子類的屬性,表示構(gòu)造函數(shù)的繼承,總是指向父類。 ES6常用知識(shí)總結(jié) 之前總結(jié)了es5中js的一些知識(shí)點(diǎn)。這段時(shí)間看了石川blue老師講解的es6課程,結(jié)合阮一峰老師的es6教程,隨手做了一些筆記和總結(jié)分享給大家。內(nèi)容還是es6主要的知識(shí)點(diǎn),基本沒有什么創(chuàng)新...
閱讀 1885·2021-09-24 09:48
閱讀 3232·2021-08-26 14:14
閱讀 1686·2021-08-20 09:36
閱讀 1475·2019-08-30 15:55
閱讀 3635·2019-08-26 17:15
閱讀 1433·2019-08-26 12:09
閱讀 614·2019-08-26 11:59
閱讀 3331·2019-08-26 11:57