[轉帖]分享ES6 常用的幾個方法
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
1.什么是ES6 ?ESMAscript 6.0(以下簡稱 2.了解Babel轉碼器Babel是一個廣泛使用的 // 轉碼前 input.map(item => item + 1); // 轉碼后 input.map(function(item){ return item + 1; }) 上面的原始代碼用了箭頭函數, 我們也可以通過官方提供的REPL在線編譯器來體驗 3.變量的解構賦值
3.1 數組的解構賦值在之前;我們給變量賦值只能直接指定一個變量值 let a = 12; let b = 11; let c = 10; 在 let [a, b, c] = [1, 2, 3]; 上面的代碼表示,可以從數組中提取數值,按照對應的位置,對變量賦值。本質上,這種寫法屬于"匹配模式",只要等號兩邊的模式相同,左邊的變量就會被賦予對應的值,而解構賦值允許指定的默認值。 3.2 對象的解構賦值對象的解構與數組有一個重要的不同。數組的元素是按次序排列的,變量的取值由它的位置決定;而對象的屬性沒有次序,變量必須與屬性同名,才能取到正確的值: 語法: const JsonData = { name: "小彭", id: 727, status: "OK", data: [867, 5309], otherData1: 18, otherData2: ['www', 'itsource', 'cn'], otherData3: { a: 1 } } console.log(JsonData.name,JsonData.id); 3.3 函數參數的解構賦值函數的參數也可以使用解構賦值;并且也一樣可以使用默認值。函數 function sum([a,b]){ return a + b; } sum([1,7]); 4.展開運算符展開運算符也叫擴展運算符。 語法: (...); 除此之外,擴展運算符也可以展開數組和對象;并且可以對數組和對象進行淺拷貝、合并的功能;也可以將偽數組轉換為真數組。 5.模板字符串對于傳統的 $('#result').append( 'There are <b>' + basket.count + '</b> ' + 'items in your basket, ' + '<em>' + basket.onSale + '</em> are on sale!' ); 這種寫法相當的繁瑣,所以在ES6引入了模板字符串來解決繁瑣等的諸多問題。 $('#result').append(` There are <b>${basket.count}</b> items in your basket, <em>${basket.onSale}</em> are on sale! `); 模板字符串是增強版的字符串,用反引號 6.對象的簡潔寫法ES6中對象的屬性和方法都有簡寫形式。 它的寫法就是如果鍵名和鍵值的屬性名是一樣時,可以只寫一個。對于函數來說;可以省略 let name = "小彭"; let age = 22; let gender = "male"; let person = { name, age, gender, // 省略 冒號(:)和function hobby () { console.log("愛好和平"); }, color () { console.log("藍色"); } } console.log(person); 7.class7.1 class的由來在 // 類(構造函數) function Person(name, age){ // 定義實例屬性 this.name = name; this.age = age; } // 添加原型方法 Person.prototype.show = function () { console.log("我是原型方法"); } // 創建實例對象 let per = new Person("花開富貴", 22); // 添加靜態方法。靜態方法是屬于類自己的,實例對象調用不了。 Person.say = function (){ console.log("我是靜態方法"); } 7.2 class的寫法
class Test{ // 一般固定的屬性會放在外層 eye = 2; leg = 2; constructor(name, age, gender){ this.name = name; this.age = age; this.gender = gender; } show () { console.log("原型方法"); } // 靜態方法 static () { console.log("靜態方法"); } } // 實例化對象 let obj = new Test("小彭", 22, "male"); console.log(obj); 7.3 class 繼承使用 繼承中的屬性或者方法查找原則:就近原則;先看自身有沒有這個屬性或者方法,有則用;如果沒有,則查找父類,若有,則用。 // 狗狗繼承動物 class Animal { //構造器 eye = 2; constructor(name, age){ this.name = name; this.age = age; }
color () { console.log("毛發細潤呈白"); } static hobby() { console.log("躺平"); } }
class Dog extends Animal { // 構造器 // ES6 要求,子類的構造函數必須執行一次super函數。 constructor(name,age) { super(name,age); } } let dogs = new Dog("富貴", 2); console.log(dogs); 8.ES6 模塊化什么是模塊化 ? 一個 模塊功能主要由兩個命令構成:
8.1 語法一導出/暴露:
導入:
步驟 :
8.2 語法二語法二的引用過程和語法是一模一樣的。 導出: 導入: 使用 8.3 ES6 模塊化的優勢寫法之外,相較于 靜態加載,也叫編譯時加載,它的好處是: (1)編譯時就能完成模塊加載,加載效率要比運行時高得多; (2)使得「靜態分析」成為可能。有了它,就能進一步拓寬 ————————————————————————— 該文章在 2023/5/25 17:24:34 編輯過 |
關鍵字查詢
相關文章
正在查詢... |