摘要:中,生成實例對象通過構造函數來生成則引用了的概念,使得更接近等語言,更加直觀。要注意的是,中聲明新的實例必須要用聲明。其中為類的默認方法,通過的調用可以執行這個方法。這事,新的實例當前就會報錯。
es5中,生成實例對象通過構造函數來生成:
function Fun(a,b) { this.a = a; this.b = b; } Fun.prototype.showA = function () { console.log(this.a) } var fun = new Fun(1,2); fun.showA();//1
es6則引用了class的概念,使得更接近java、c++等語言,更加直觀。如:
class Fun { constructor(a,b){ this.a = a; this.b = b; } showA() { console.log(this.a); } } var fun = new Fun(1,2); fun.showA();//1
這兩種寫法是一樣的,在es6中,class可以理解為一個語法糖,只是讓這種寫法更加直觀。
要注意的是,es6中聲明新的實例必須要用new聲明。
其中constructor為類的默認方法,通過new的調用可以執行這個方法。每個類都必須要有這個方法,如果沒有顯示定義,則一個空的constructor被添加到類里面。constructor方法默認返回實例對象,即this。也可以返回其他對象。這事,新的實例instanceof當前class就會報錯。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97036.html
摘要:使用類創建實例對象也是直接對類使用命令,跟中構造函數的用法一致。中沒有構造函數,作為構造函數的語法糖,同時有屬性和屬性,因此同時存在兩條繼承鏈。子類的屬性,表示構造函數的繼承,總是指向父類。 1 Class in ES6 ES6提出了類(Class)的概念,讓對象的原型的寫法更像面向對象語言寫法。 ES6中通過class定義對象,默認具有constructor方法和自定義方法,但是包含...
摘要:使用類創建實例對象也是直接對類使用命令,跟中構造函數的用法一致。中沒有構造函數,作為構造函數的語法糖,同時有屬性和屬性,因此同時存在兩條繼承鏈。子類的屬性,表示構造函數的繼承,總是指向父類。 1 Class in ES6 ES6提出了類(Class)的概念,讓對象的原型的寫法更像面向對象語言寫法。 ES6中通過class定義對象,默認具有constructor方法和自定義方法,但是包含...
摘要:中通過關鍵字,定義類經過轉碼之后可以看到類的底層還是通過構造函數去創建的。在中,構造函數是可以直接運行的,比如。如果你有靜態屬性,會直接添加到構造函數上。不是很好理解,可以通過下面的方式理解是一個實例,是構造方法的原型。 ES6中通過class關鍵字,定義類 class Parent { constructor(name,age){ this.name = na...
摘要:聲明和定義聲明一個構造函數聲明一個類以上兩者相比之下,很可以看出,類函數比構造函數,代碼量更少,并且結構層次更加簡潔明了。類主要內容是構造函數靜態方法繼承。構造函數一個類里,必有一個函數,默認。 ES6 Class類 ES6中class是基于原型的繼承的語法糖,提供更加清晰的語法來創建對象和原型。 聲明和定義 es5 聲明一個構造函數: function Student(name, a...
摘要:值得注意的是與完全不同的是不能通過父類參數來實現因為子類在沒有調用父類的之前實例是沒有的。 使用class class Miaov{ constructor (a,b){ //構造對象的時候需要傳遞的對象 this.a=a; this.b=b; return this; //注意這里的ret...
閱讀 2224·2021-11-22 09:34
閱讀 1334·2021-10-11 10:59
閱讀 4427·2021-09-22 15:56
閱讀 3270·2021-09-22 15:08
閱讀 3401·2019-08-30 14:01
閱讀 773·2019-08-30 11:16
閱讀 1129·2019-08-26 13:51
閱讀 2906·2019-08-26 13:43