JavaScript — Getter與Setter - Cheryl Chuang - Medium

文章推薦指數: 80 %
投票人數:10人

我直接在wallet這個物件的定義裏頭,定義了set,get(橘匡),根據JS的語法作用域,想要取得外層的total這個屬性,可以藉由this來取得之。

setter 和getter可以有 ... GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWriteJavaScript—Getter與Setter根據MDNGetter和Setter的定義:Setter會幫你定義特定物件的屬性,Getter會幫你取得特定物件屬性的值。

你可以在所有預先定義的使用者物件中定義set以及get。

我直接在wallet這個物件的定義裏頭,定義了set,get(橘匡),根據JS的語法作用域,想要取得外層的total這個屬性,可以藉由this來取得之。

setter和getter可以有同樣的名字,在使用setter—save時,方法很特別,不是透過括號的方式將argument傳入,而是透過assignment(等號)將引述傳入噢!!!往上看程式碼line21以及line22我是先使用getter將total印出來,因此第一個印出1000(黃匡),接著才做setter存入1000。

save代表“Invokepropertygetter”,當你使用getter時請留意,getter最後會呈現的是所有程式碼執行完最終的那個值,其會在當你按下該getter時呈現出來!!!還記得Object.defineProperty(物件,屬性,特徵)這個方法嘛?setter和getter也可以用這個方法來做定義喔!我將列舉(enumerate)wallet的所有屬性。

我使用setter和getter來賦值取值。

使用Object.getPropertyDescriptor(物件,屬性)來查看save的屬性特徵。

透過Object.defineProperty定義setter和getter其enumerable,configurable為false,因此在列舉(黃匡)時不會將其列出來噢!!!如果想要將其改為true,只要在Object.defineProperty時,將configurable:true,enumerable:true加進去{屬性特徵調整}就好囉!!!最後我們來實際看看getter它可以怎麼被運用:取出陣列的最後一個值我們創造了一個陣列,當我們想要操作該陣列(新增屬性)時,藉由Array的prototype就可以列用JS的原型鏈來讓所有__proto__爲Array的物件都可以享有其屬性囉!MorefromCherylChuangFollowCurrentlyworkinTheTravelingTwinsasawebdeveloper.Lovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedCherylChuang10FollowersCurrentlyworkinTheTravelingTwinsasawebdeveloper.FollowHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable



請為這篇文章評分?