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