Javascript
-
[JS] '빌더 패턴' 대신 '옵션 객체 패턴'으로
2024.10.21이번 글에서는 빌더 패턴의 의의를 고찰하면서, 이의 대안인 옵션 객체 패턴 이용을 고려해볼 것이다.우선 빌더 패턴이란 무엇일까? 빌더 패턴 (리팩토링 구루, TTUMZZI님)복잡한 객체를 생성할 때, 생성자 함수에 여러 인자를 넣을 시의 난해함, 유지보수의 어려움을 보완한 생성 패턴.객체의 속성(property)을 선택적으로 설정하는 Builder 클래스가 필요하게 된다. 빌더 패턴의 특징을 코드 예시와 함께 확인해보자.const house = new House("My House", 4, 3, false, null, null); 위의 코드를 확인해보면, 정확히 무엇을 의미하는지도 불확실한 여러 인자들이 생성자에 있음을 확인할 수 있다.또 인자들 중에 선택적인 인자는 null로 넣고 있는 모습이다.위와 같.. -
[JS] Object, Map, WeakMap 적절히 쓰기
2024.10.18ObjectJS의 객체 형식으로, 키-값 쌍 형식의 데이터를 표현할 수 있다.JS에서 대부분의 내장 객체와 자료구조들은 Object의 인스턴스라고 할 수 있다. (심지어 Array마저도 내부적으론 Object를 상속받았다) Map마찬가지로 키-값 쌍의 데이터를 표현하며, ES6 표준으로 추가되었다. WeakMap키의 타입을 Object로만 설정 가능하고, 키를 순회하거나 검색할 수 없는 자료구조. ES6에 마찬가지로 추가되었다.Property를 컴파일 시점에 알 수 없는 경우JS의 Object는 '히든 클래스' 기법을 통해 동일한 Property 형태를 가진 Object들에 대한 접근을 최적화한다.(게으른 개발자님, Namu CHO님)이는 곧 Object가 키-값이 계속해서 바뀌는 상황에는 최적화되어 있..