JavaScript — Getter與Setter - Cheryl Chuang - Medium
文章推薦指數: 80 %
我直接在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
延伸文章資訊
- 1JavaScript的getter与setter方法作用解析 - 掘金
当属性age被读取时调用getter函数;当age被写入时调用setter函数。
- 2javascript中getter和setter有什么用? - SegmentFault 思否
getter和setter不就是赋值与获取值的意思吗? var obj = {}; obj.name="john" 这 ... 前面已经有人讲了拦截的作用,我这里补充一下,如有错误请指出。
- 3getter/setter - iT 邦幫忙::一起幫忙解決難題,拯救IT 人的一天
- 4JavaScript — Getter與Setter - Cheryl Chuang - Medium
我直接在wallet這個物件的定義裏頭,定義了set,get(橘匡),根據JS的語法作用域,想要取得外層的total這個屬性,可以藉由this來取得之。 <注意>setter 和getter可以...
- 5属性的getter 和setter - 现代JavaScript 教程
访问器属性由“getter” 和“setter” 方法表示。在对象字面量中,它们用 get ... propName 时,getter 起作用 }, set propName(value) { ...