JavaScript(for in/for of)


forEach(Arrayのみ)

for in(オブジェクトのみ)


特長objectデータ型に格納されているデータの印刷に使用
var products = { name : 'Kim', age : 30 };
for (var key in products) {
  console.log(key); // name, age
  console.log(오브젝트[key]); 'kim', 30
}
var products = [ {name1 : 'chair',price1 : 7000,}, 
                 {name2 : 'sofa', price : 5000,}]; 
or (var key in products) {
  console.log(key); // 0,1 
  console.log(오브젝트[key]); // {name1 : 'chair',price1 : 7000,},{name2 : 'sofa', price : 5000,}
}          
特長列挙のみ出力(可)
nameというキー値の隠し情報確認コード
console.log( Object.getOwnPropertyDescriptor(오브젝트, 'name') ); 
{value: "Kim", writable: true, enumerable: true, configurable: true} 
特長親(または作成者)を継承するプロトタイプ図を出力
class 부모 {
}
부모.prototype.name = 'Park'; //부모 클래스만 가지는 유전자 속성

var 오브젝트 = new 부모();

for (var key in 오브젝트) {
  console.log(오브젝트[key]);//상속받은 부모의 유전자 속성이 출력 (Park)
}
自分のオブジェクト値だけを出力したい場合は?hasOwnPropertyを使用します.
この関数は、独自のプロパティがあるかどうかを決定し、条件文がtrueの場合、その値を出力します.
次の場合、オブジェクトという名前の継承オブジェクトを出力すると、構造関数からageという値が継承され、親のプロトタイプnameが継承されます.この場合、オブジェクトにはageがありますが、nameはありません.(nameは完全な親の遺伝子属性なので)

したがって、次のコードは、持つ属性age属性のみを出力します.
class 부모 {
	constructor(){
    this.age = 30;
    }
}
부모.prototype.name = 'Park';
var 오브젝트 = new 부모();
for (var key in 오브젝트) {
  if (오브젝트.hasOwnProperty(key)) {
    console.log(오브젝트[key]); // 30
  }
}

for(iterableのみ)


Iterableは「繰り返し可能」を表し、String、Array、TypedArray、Map
Set等はFOR OF MOONに使用可能である.
注意:https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of