생성자 함수
-
prototype언어 공부/JS 2022. 4. 10. 17:09
저번에 일반 함수로 생성자 함수처럼 구현 하면서 생성자 함수를 굳이(필수적으로) 사용해야 하는가에 대한 궁금증이 남았었다. 완벽한 해답을 얻은 건 아니지만 그래도 궁금증이 조금은 해소될만한 답이 나와서 글을 써본다. 저번 포스팅에서 다음과 같이 언급했다. 실제로 두 함수의 차이는 생성자가 객체인지 사용자 정의 생성자인지의 차이와 프로토타입의 구성 뿐이다. 게다가 상속받은 프로토타입의 메서드도 완벽히 동일하다. ...거의 맞는 말이긴 한데(둘째 줄은 틀린 거였음.. 죄송합니다 ㅜ), 프로토타입의 구성에서 js 내부적으로 꽤나 유의미한 차이가 나는거 같다. 그 전에 프로토타입의 정의부터 살펴보자. js에서의 프로토타입은 부모 객체로 부터 상속받은 프로퍼티(속성)들의 집합(객체)을 의미한다. java에 ext..
-
일반 함수로 생성자 함수처럼 구현언어 공부/JS 2022. 4. 7. 22:25
생성자 함수는 유사한 객체를 여러 개 만들어야 하는 상황에 유용하다. 그런데 사실 생성자 함수와 그냥 함수는 크게 다를 바가 없지만, 관례라 해야하나... 3가지 차이점이 있다. 함수 이름의 첫 자는 대문자로 시작한다. 반드시 new 연산자를 앞에 붙여 호출한다. 생성자 함수 안에는 return문이 없다. (메서드 함수에서 사용되는 부분은 제외하고) 예시를 살펴보자. function User(name, age) { this.name = name; this.age = age; this.introduce = function () { console.log(`Hi, I'm ${this.name}, ${this.age} years old.`); }; } user1 = new User("Jane", 32); 이렇듯..