9/5 TIL

정민세·2022년 9월 5일
0

객체(object) : { }

객체란 이름(name)과 값(value)으로 구성된
프로퍼티(property)의 정렬되지 않은 집합

const person = {
	name: 'Semin',
	age: 26
};

객체 출력하기

console.log(person.name); // Semin
console.log(person['age']; // 26

객체 추가하기

  • dot notation : person.hobby = 'coding';
  • bracket notation : person['hobby'] = 'coding';
  • 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문 사용 : 객체에서 사용하는 반복문

    for( let key in obj )

    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 in을 배열에 쓰지 않는 이유

  • for in문은 임의의 순서로 객체의 속성들에 대해 반복 배열은 인덱스의 순서가 중요하기 때문에 사용이 불가능
  • for of문 사용 : 배열에서 사용하는 반복문

    for( let el of arr )

    for of 문은 배열의 'index' 만큼 반복하여 엘리먼트를 'el'라는 변수에 할당한다.

    let iterable = [10, 20, 30];
    for (let value of iterable) {
      console.log(value);
    } // 'value'라는 변수를 'iterable' 의 'array'를 순환하여 반복적으로 값을 나타낸다. 

    for in과 for of의 차이 한 번에 보기

    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
    }
    profile
    하잇

    0개의 댓글