Prototype
·
JavaScript
프로토 타입 (Prototype)자바스크립트는 클래스 기반 언어와 달리, 프로토타입 기반 언어이다. 자바스크립트의 모든 객체(Object)는 자신의 부모 역할을 하는 개체와 연결되어 있는데, 이 부모 객체를 프로토타입(Prototype) 이라고 부른다.쉽게, 자식(객체)이 어떤 기능을 가지고 있지 않다면, 부모(프로토타입)에 가서 이 기능 있는지 확인 후 가져온다고 생각하면 될 듯하다. 생성자 함수를 통해 이해하기먼저 Person 이라는 사람을 만드는 함수를 만든다고 가정해보자.// 생성자 함수 (사람을 만드는 틀)function Person(name, age) { this.name = name; this.age = age;}이때, Person 함수가 만들어질 때, Person.prototype이라는..
#4 심볼
·
JavaScript/중급
심볼 (Symbol)자바스크립트에서 객체(Object)의 프로퍼티 키는 보통 문자열로 취급된다.예를 들어 숫자 1, 불리언 false를 키로 써도 내부적으로는 "1", "false" 같은 문자열 키가 된다. 그런데 협업/라이브러리 사용 상황에서 내가 추가하는 키가 기존 키와 충돌하면 문제가 생길 수 있다.이때 Symbol은 매번 새로 만들어지는 고유한 값이라서, 키 충돌을 원천 차단하는 용도로 쓴다.Symbol 만드는 법: Symbol()심볼은 객체가 아니라 원시 타입(primitive)이라서 new Symbol()처럼 new키워드를 쓰지 않는다.const a = Symbol('id');const b = Symbol('id');console.log(a === b); // falseSymbol('id)의 ..