10.オブジェクト共通


2022.04.05.火曜日です。


10.オブジェクト共通


10.1対象とは?


:元の値以外の値はオブジェクトで、オブジェクトは変更可能な値です.オブジェクトは、0つ以上のpropertyからなる集合です.
  • 構成:Property(データ)+メソッド(動作)
  • 構成:キー(キー)+値(値)
  • 10.2オブジェクトテキストからオブジェクトを作成する


    :C++やJavaなどのクラスベースのオブジェクト向け言語では、クラスを事前に定義し、必要に応じてnew演算子を使用してジェネレータを呼び出す必要があります.逆に、JavaScriptはプロトコルタイプに基づくオブジェクト向け言語であり、複数のオブジェクト作成方法をサポートしています.
  • オブジェクト文字
  • オブジェクトジェネレータ関数
  • ジェネレータ関数
  • Object.createメソッド
  • クラス(ES 6)
  • // 객체 리터럴을 통한 생성 예제
    var person = {
    	name: 'Lee',
        sayHello: function() {
        console.log(`Hello! My name is ${this.name}.`);
        }
    };
    
    console.log(typeof person); 
    console.log(person); 

    10.3%


    :オブジェクトはプロセスの集合であり、プロセスはキーと値で構成されます.

  • 設定キー:空の文字列を含むすべての文字列またはシンボル値.

  • 設定値:JavaScriptで使用可能なすべての値.
    ※識別者の命名規則を守らないPropertyキーには引用符を使用する必要があります.
  • 10.4方法


    :property値が関数の場合、メソッドと呼ばれ、通常の関数を区別します.

    10.5%アクセス


  • ピリオド記号:ピリオドプロパティアクセス演算子(.)使用します.

  • 角カッコ:角カッコプロパティを使用して演算子にアクセスします.
    特長

  • 角カッコでは、単位キーを引用符で囲む必要があります.

  • アクセスオブジェクトに存在しないプログラムがある場合はundefinedを返します.

  • 識別子命名規則に従わない名前には、カッコ記号を使用する必要があります.
  • 10.6%の価格更新


    :既存のpropertyに値を割り当てると、property値がリフレッシュされます.

    10.7%動的作成


    :存在しないプロパティ値に割り当てると、プロパティが動的に作成され、追加されます.

    10.8%削除


    :delete演算子は、オブジェクトのpropertyを削除します.deleteの被演算子はproperty値にアクセスできる式でなければなりません.

    10.9 ES 6に追加されたオブジェクト文字の拡張


    :ES 6は、より単純で表現力のあるオブジェクト文字拡張を提供します.
  • パーセントサムネイルは
  • を表す.
    // ES5
    var x = 1, y = 2; 
    
    var obj = {
    	x: x,
        y: y,
    };
    
    // ES6
    var x = 1, y = 2; 
    
    var obj = {x, y};
  • 計算された専門名
  • // ES5
    var prefix = 'prop'; 
    var i = 0; 
    
    var obj = {}; 
    
    obj[prefix + '-' + ++i] = i; 
    obj[prefix + '-' + ++i] = i; 
    obj[prefix + '-' + ++i] = i; 
    
    console.log(obj); // {prop-1: 1, prop-2: 2, prop-3: 3}
    
    // ES6
    const prefix = 'prop'; 
    let i = 0; 
    
    const obj = {
    	[`${prefix}-${++i}`]: i,
    	[`${prefix}-${++i}`]: i,
    	[`${prefix}-${++i}`]: i,
    };
    
    console.log(obj); // {prop-1: 1, prop-2: 2, prop-3: 3}
  • メソッドサムネイル
  • // ES5
    var obj = {
    	name: 'Lee',
        sayHi: function() {
        	console.log('Hi! ' + this.name); 
    	}
    };
    
    obj.sayHi()
    
    // ES6
    const obj = {
    	name: 'Lee',
        sayHi() {
        	console.log('Hi!' + this.name); 
        }
    };
    
    obj.sayHi();