ES6Class模擬實現

2021-09-27 16:44:08 字數 1082 閱讀 2867

1.class必須以new的方式執行直接執行會報錯

2.class原型屬性、靜態屬性也不可列舉

3.繼承: 公有屬性、私有屬性

私有屬性不等同於靜態屬性:私有屬性可以被例項化的物件繼並且每乙個物件都不同,靜態屬性只是建構函式所有

私有屬性訪問:var op = new plane(); op.private(私有屬性名); 靜態屬性訪問:plane.static(靜態屬性名)

function _classcallcheck(_this, _constructor)

}function _definedproperties(target, props))

})}function _createclass(_constructor, _prototypepropeties, _staticproperties)

if(_staticproperties)

}var plane = (function ()

_createclass(plane, [

}],[

}])return plane;

})();

var myplane = new plane('steven的飛機');

function _inherit(o, p)

var attackplane = (function (plane)

_createclass(attackplane, [

}],[

}])return attackplane;

})(plane)

console.log(new attackplane('1').attack());// 原型屬性-公有屬性 : duang~duang~duang~

console.log(new attackplane('1').fly());// 繼承的公有屬性: fly

console.log(attackplane.alive());// 靜態屬性:true

console.log(new attackplane);// 私有屬性+繼承的私有屬性 :attackplane

ES6 Class語法介紹

參考文章 ecmascript 6 入門 概述 基本上,es6 的class可以看作只是乙個語法糖,它的絕大部分功 能,es5 都可以做到,新的class寫法只是讓物件原型的寫法更加清晰 更像物件導向程式設計的語法而已。舉個栗子 es5 function point x,y point.protot...

簡單理解 es6 class

類即物件 es6 除錯最簡單的方法 直接在node控制台執行js,完全不需要考慮瀏覽器相容性而去安裝babel等編譯器的去編譯後再除錯 先舉個例子 class a start 複製 乙個類就這麼產生了,只要new一下,這個類就可以被用了 let b new a 複製 可能這個類將會有很多地方要使用,...

ES6 Class基本用法

es6提供了更接近傳統語言的寫法,引入了class 類 這個概念,作為物件的模板。通過class關鍵字,可以定義類。基本上,es6的class可以看作只是乙個語法糖,它的絕大部分功能,es5都可以做到,新的class寫法只是讓物件原型的寫法更加清晰 更像物件導向程式設計的語法而已。1.我們先用建構函...