一、class
es6引入了class(類)這個概念,作為物件的模板。通過class關鍵字,可以定義類。
// 定義類
class point()
tostring()
} var point = new point(2, 3);
point.tostring(); //(2, 3)
在上面的**片段裡,先是定義了乙個point類,裡面還有乙個constructor函式,這就是建構函式。而this關鍵字則代表例項物件。
cl之間可以通過extends關鍵字實現繼承
class colorpoint extends point
tostring()
}二、module的基本用法
1>、export和import
es6實現了模組功能,視**決j**ascript**的依www.cppcns.com賴和部署上的問題,取代現有的commonjs和amd規範,成為瀏覽器和伺服器通用的模組解決方案。
模組的功能有兩個關鍵字: export和import。export用於使用者自定義模組。規定對外介面;import用於輸入其他模組的功能,同時建立命名空間(namespace),防止函式名衝突。
es6允許將獨立的js檔案作為模組,也就是說,允許乙個j**ascript指令碼檔案呼叫另乙個指令碼檔案。最簡單的模組就是乙個js檔案,裡面使用export關鍵字輸出變數。
export var firstname = "pandora";
export var lastname = "g.dragon";
export var year = 1973;
//export還有下面這種寫法,兩者是等價的
var firstname = "pandora";
var lastname = "g.dragon";
var year = 1973;
export();
使用export定義模組之後,其他js檔案就可以通過import關鍵字載入這個模組(檔案)了。載入方式如下:
import from './profile';
function setheader(element)
上面的**片段中,使用了import關鍵字接受乙個物件——用「」表示。裡面指定了要從其他模組中匯入的變數。大括號裡面的變數名必須與被匯入模組對外介面的名稱相同。
但是,如果要給輸入的屬性和方法重新取乙個名字,import語句要寫成下面這樣。
import from './exporter';
2>、模組的整體載入
export關鍵字除了輸出變數,還可以輸出方法或類(class)。看看下面**:
// circle.js
// 方法-1: 返回圓的面積
export function area(radius)
// 方法-2: 返回圓的周長
export function circumference(radius)
下面,定義乙個main.js檔案引用上面的模組。
// mian.js
import from 'circle';
console.log("圓面積: " + area(4));
console.log("圓周長: " + circumference(14));
上面的寫法是逐一制定要匯入的方法。但是還有另外一種寫法,就是使用module關鍵字,整體匯入。
// main.js
module circle from 'circle';
console.log("圓面積: " + circle.area(4));
console.log("圓周長: " + circle.circumference(14));
module關鍵字後面跟著乙個變數,表示匯入的模組定義在該變數上。
3>、export default語句
如果不想為某個屬性或方法制定輸入的名稱,可以使用export default語句。
// export-default.js
export default function foo()
當在其它模組中匯入該模組時,import語句可以為預設方法指定任意名字。
// import-default.js
import customname from './export-default';
customname(); //'foo'
顯然,乙個模組只能由乙個預設方法。
對於預設屬性,則是直接定義在export default後面即可。如下**所示:
export default 42;
三、模組的繼承
模組之間是可以繼承的。
現在,假設乙個circleplus模組繼承了circle模組。**如下:
export * from 'circle'; // "export *"表示輸出circle模組的所有屬性和方法
export var e = 2.71828;
export default function(x)
這時,可以對cicle中的屬性和方法改名後再輸出。
export from 'circle';
載入模組的寫法如下:
module math from 'circleplus';
import exp from "circleplus"; // "import exp"表示將circleplus模組的預設方法載入為exp方法。
console.log( exp(math.pi) );
總結本文標題: es6入門教程之class和module詳解
本文位址: /ruanjian/j**a/191050.html
ES6入門教程之let和const命令詳解
前言 在j ascript中,我們都知道使用var來宣告變數。j ascript是函式級作用域程式設計客棧,函式內可以訪問函式外的變數,函式外不能訪問函式內的變數。函式級作用域會導致一些問題就是某些 塊內的變數會在全域性範圍內有效,這我們是非常熟悉的 for var i 0 i 10 i conso...
ES6入門 Class 的繼承
es6 提供了更接近傳統語言的寫法,引入了 class 類 這個概念,作為物件的模板。通過class關鍵字,可以定義類。基本上,es6 的class可以看作只是乙個語法糖,它的絕大部分功能,es5 都可以做到,新的class寫法只是讓物件原型的寫法更加清晰 更像物件導向程式設計的語法而已。傳統物件導...
ES6的class和繼承
二.class 的繼承 function myfun x,y myfun.prototype.function var a newmyfun 1 2 class myfun 類的內部所有定義的方法,都是不可列舉的 object.keys myfun.prototype 1.所有的類都有乙個const...