您好,登錄后才能下訂單哦!
這篇文章主要介紹“es6靜態(tài)屬性和實(shí)例屬性的區(qū)別有哪些”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“es6靜態(tài)屬性和實(shí)例屬性的區(qū)別有哪些”文章能幫助大家解決問(wèn)題。
區(qū)別:1、靜態(tài)屬性是類(lèi)自身的屬性,只能在類(lèi)自身調(diào)用,而實(shí)例屬性是實(shí)例對(duì)象的屬性;2、實(shí)例對(duì)象無(wú)法調(diào)用靜態(tài)屬性,但類(lèi)可調(diào)用實(shí)例屬性;3、靜態(tài)屬性只有一種聲明方法,語(yǔ)法“類(lèi)名.屬性名=值”,而實(shí)例屬性有多種聲明方法,例類(lèi)中用“屬性名=值”定義。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
靜態(tài)的就是不會(huì)被實(shí)例繼承的,是屬于類(lèi)自身的,實(shí)例繼承不了,也調(diào)用不了,跟作用域一樣。
靜態(tài)屬性:就是類(lèi)自身的屬性,只能在類(lèi)自身調(diào)用,實(shí)例對(duì)象是無(wú)法調(diào)用到靜態(tài)屬性的,只能類(lèi)自身調(diào)用,當(dāng)然子類(lèi)也可以調(diào)用父類(lèi)的靜態(tài)屬性;
實(shí)例屬性:就是實(shí)例的屬性,實(shí)例對(duì)象可以調(diào)用的實(shí)例屬性,記住實(shí)例是無(wú)法調(diào)用類(lèi)的靜態(tài)屬性的,但是類(lèi)可以調(diào)用實(shí)例屬性;
聲明靜態(tài)屬性:
就和普通的Object添加屬性一樣,object.a = 值;
(目前唯一一種方法);有人提議在類(lèi)內(nèi)部加static關(guān)鍵字,但是還沒(méi)實(shí)現(xiàn)
class F{}; F.b="父類(lèi)的靜態(tài)屬性";//給F類(lèi)加靜態(tài)方法
聲明靜態(tài)方法:在方法前加上static關(guān)鍵字
class Foo { static bar () {//靜態(tài)方法 靜態(tài)方法中的this指向類(lèi)本身而不是實(shí)例 this.baz(); } static baz () {//靜態(tài)方法 console.log('hello'); } } Foo.bar() // hello new Foo().bar();//實(shí)例調(diào)用不了,會(huì)報(bào)錯(cuò)
聲明實(shí)例屬性:
1,在類(lèi)中定義
class MyClass { myProp = 42; constructor(props) { console.log(this.myProp); // 42 this.name=props.name } } //上面代碼中,myProp就是MyClass的實(shí)例屬性。在MyClass的實(shí)例上,可以讀取這個(gè)屬性。
2,在constructor中定義(react中經(jīng)典寫(xiě)法)
class ReactCounter extends React.Component { constructor(props) { super(props);//可以讓子類(lèi)繼承 this.state = { count: 0 }; } } //等價(jià)于 class ReactCounter extends React.Component { state = { count: 0 }; }
靜態(tài)屬性和實(shí)例屬性的區(qū)別總結(jié):
靜態(tài)屬性是類(lèi)自身的屬性,只能在類(lèi)自身調(diào)用;而實(shí)例屬性是實(shí)例對(duì)象的屬性,可以被實(shí)例對(duì)象調(diào)用。
實(shí)例對(duì)象是無(wú)法調(diào)用到靜態(tài)屬性的,只能類(lèi)自身調(diào)用;而類(lèi)可以調(diào)用實(shí)例屬性。
靜態(tài)屬性只有一種聲明方法,而實(shí)例屬性有多種聲明方法。
實(shí)例屬性定義在實(shí)例上,可以在構(gòu)造函數(shù)的內(nèi)部的this上進(jìn)行定義,也可以在構(gòu)造函數(shù)實(shí)例化以后的實(shí)例上進(jìn)行定義。
靜態(tài)屬性,定義在構(gòu)造函數(shù)之上的屬性。可通過(guò)構(gòu)造函數(shù)直接訪問(wèn)。
關(guān)于“es6靜態(tài)屬性和實(shí)例屬性的區(qū)別有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。