객체

    TIL - 20221008 (객체와 Map 성능 차이)

    코딩테스트 문제를 풀고 나서 다른 사람의 풀이를 공부할 겸 참고해보면 종종 Map과 Set을 사용하여 푸는 경우가 있다. 객체와 Map의 차이로 가장 큰 차이점은 Map의 키로는 자료형에 제약이 없다는 점이었는데 성능에 차이가 있는지 알아보는 시간을 가졌다. 데이터 갱신 측면에서, Map의 set이 객체의 set보다 2배 느리다. 데이터 조회 측면에서는 Map이 객체보다 10배 더 빠르다. 데이터 갱신 측면의 이유로는 객체의 경우 데이터가 순차적으로 적재되지 않기에 set 활동이 일어나면 아무 빈 공간에 만들어서 값을 넣지만, Map은 순차적으로 데이터를 적재하고 적재하면서 수반되는 추가 활동이 Map의 set 처리에 영향을 주어 객체의 set보다 느려지게 된다. 데이터 조회 측면의 이유로는 객체의 경우..

    [JavaScript] 객체(2) - 메서드와 this

    메서드 JavaScript에서 객체는 사용자, 주문처럼 현실에 존재하는 개체를 표현할 때 사용하며 사용자를 예시로 더 자세히 보면, 사용자의 이름, 나이를 속성으로 담을 수도 있지만 현실에서는 로그인하기, 로그아웃하기와 같은 행동들이 존재한다. 객체도 행동을 함수 프로퍼티를 할당함을 통해 구현할 수 있으며 이를 메서드라고 부른다. 다음과 같이 객체에 행동을 부여할 수 있다. let user = { name: "Jaeyoon", age: 24 }; user.sayHi = function() { alert("안녕하세요!"); } user.sayHi(); // 안녕하세요! 함수 표현식을 통해 함수를 만들어 user 객체에 sayHi라는 이름으로 함수 프로퍼티를 만들어주었다. 이런 식으로 객체에 할당된 함수를 ..

    [JavaScript] 객체(1) - 기본

    JavaScript에는 여덟 가지 자료형이 존재하면서 이 중 일곱 가지 자료형은 문자열, 숫자와 같이 오직 한 종류의 데이터를 저장하는 원시형과 이번 게시글에서 다룰 객체다. 한 종류의 데이터만 담을 수 있는 원시형과 달리 객체는 여러 종류의 데이터를 담을 수 있고, 이 데이터들을 키로 구분한다. 객체는 JavaScript에서 거의 모든 면에 녹아있기 때문에 JavaScript를 잘 다루려면, 객체를 잘 이해하고 있어야 한다. 객체를 만드는 방법은 객체 생성자 문법을 이용하여 만드는 방법과 객체 리터럴을 이용하여 만드는 방법이 존재한다. const obj = new Object(); // 객체 생성자 문법 const obj = {} // 객체 리터럴 문법 한 객체를 살펴보며 객체에 대해 좀 더 자세히 살..