【ぷろぱてぃ】

プロパティ とは?

最終更新:
💡 名前で値を扱う項目。保存した値を読む場合も、計算する場合もある

オブジェクトなどの属性や値を扱う項目。JavaScriptではキーと値・アクセサーを持ち、C#では値の取得・設定・計算を行うメンバーを指す。言語や文脈で仕組みが異なる。

📌 このページのポイント
JavaScriptのデータプロパティの例car オブジェクト名前(キー)値color"red"speed0car.color で値を読む取得・設定時に処理するプロパティもある言語によってはフィールドと区別する
車を表すオブジェクトの、値を持つプロパティの例。JavaScriptのアクセサープロパティやC#のプロパティには、計算・検証などの処理もあります。
ひよこ ひよこ
プロパティはデータ、メソッドは動作?
ペンギン先生 ペンギン先生
入り口としてはその考え方が分かりやすいよ。例えばcar.colorなら車の色を扱う。ただしJavaScriptでは、関数を値として持つプロパティがメソッドになることもあるので、二つを完全に別の入れ物と考える必要はないんだ
ひよこ ひよこ
フィールドと同じものなの?
ペンギン先生 ペンギン先生
言語によるよ。C#ではフィールドは値を保存する場所、プロパティはgetやsetなどで値を取得・設定する仕組みとして区別する。計算して値を返すだけで、専用の保存場所を持たないプロパティもあるんだ
ひよこ ひよこ
ゲッターやセッターは何をするの?
ペンギン先生 ペンギン先生
値を読むとき、書くときの処理だよ。JavaScriptのアクセサープロパティにも、C#のプロパティにも使われる。値を計算したり、設定前に検証したりできるんだ。C#では公開プロパティのsetだけをprivateにして、外からは読めるけれど直接変更できない形にもできるよ
ひよこ ひよこ
CSSのプロパティも同じ?
ペンギン先生 ペンギン先生
CSSではcolorやfont-sizeなど、表示の指定に使う項目を指すよ。それぞれに使える値や適用先などの規則がある。オブジェクトのメンバーやC#のget/setの仕組みと同一ではないので、どの文脈のプロパティかを確認しよう
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「プロパティ」って出てきたら「属性や値を名前で扱う項目」と思えばだいたいOK!
📖 おまけ:英語の意味
「Property」 = 属性・特性・財産
💬 プログラミングでは属性や値を扱う項目を指す言葉だよ。フィールドと同じ意味にするか、別の仕組みとして区別するかは言語や文脈によるんだ

参考資料

← 用語集にもどる