객체란 이름(name)과 값(value)으로 구성된
프로퍼티(property)의 정렬되지 않은 집합const person = { name: 'Semin', age: 26 };
console.log(person.name); // Semin console.log(person['age']; // 26
person.hobby = 'coding'; // 'hobby': 'coding' props가 추가 됨 person['gender'] = 'male'; // 'gender' : 'male' props가 추가 됨
delete person.gender; // 'gender': 'male' props가 삭제 됨 delete person['hobby']; // 'hobby': 'coding' props가 삭제 됨
for in문은 객체안에 모든 키를 찾아 'key'라는 변수에 할당한다.
ex)
var obj = {a: 1, b: 2, c: 3}; for (const key in obj) { console.log(${key} = ${obj[key]}`); } // 'key'라는 변수를 'obj'의 'props'를 순환하여 'key'로 'obj'의 props를 나타낸다.
for of 문은 배열의 'index' 만큼 반복하여 엘리먼트를 'el'라는 변수에 할당한다.
let iterable = [10, 20, 30]; for (let value of iterable) { console.log(value); } // 'value'라는 변수를 'iterable' 의 'array'를 순환하여 반복적으로 값을 나타낸다.
Object.prototype.objCustom = function () {};
Array.prototype.arrCustom = function () {};
let iterable = [3, 5, 7];
iterable.foo = "hello";
for (let i in iterable) {
console.log(i); // logs 0, 1, 2, "foo", "arrCustom", "objCustom"
}
for (let i of iterable) {
console.log(i); // logs 3, 5, 7
}