Water Sunlight

軽量プログラミングの文法 - JavaScript/Python

ユーザ用ツール

サイト用ツール


js:object:private

文書の過去の版を表示しています。


JavaScript プライベートメンバ

y2sunlight 2021-05-17

プライベートメンバの定義

JavaScriptでは他のオブジェクト指向言語と異なり、プライベートメンバを定義する構文がありません。その代わりにクロージャを使用します。

function Circle(radius) {

  var _radius;
  
  // プライベートメソッド(クロージャ)
  var _area = function() {
    return _radius * _radius * Math.PI;
  };
  
  // パブリックメソッド
  this.setRadius = function(radius) {
    // プライベートプロパティに設定
    _radius = radius
  };
  
  // パブリックメソッド
  this.getRadius = function() {
    // プライベートプロパティから取得
    return _radius; 
  };
  
  // パブリックメソッド
  this.getArea = function() {
    // プライベートメソッドにアクセス
    return _area(); 
  };

  this.setRadius(radius);
}

var a = new Circle(10);

console.log(a.getRadius());  // 結果:10
console.log(a.getArea());    // 結果:314.1592653589793

特権メソッド

TODO


Object.defineProperty

TODO


js/object/private.1621815203.txt.gz · 最終更新: 2021/05/24 09:13 by y2sunlight