[로운스쿨] 생성자함수

이로운·2023년 1월 26일
0

본 내용은 동기들에게 설명해줄때 사용했던 방법을 그대로 썻습니다
참조 : 유튜브 코딩애플, 앙마코딩

사용이유

내가 홈페이지를 만들었는데
알고리즘에 의해서 너무 흥행을 한다고 생각해보자
처음에는 객체로 하나하나 만들겠지만 그것도 힘들 상황이 올것이다
그때 비슷한 객체를 엄청 만들어주는 생성자 함수를 사용한다

만드는 법

만드는 법은 간단하다

function User() {
	// 함수 객체
}

유의 해야할 점은 생성자 함수임을 알려주기 위해서 첫글자를 대문자로 써야한다
user이라는 생성자 함수를 붕어빵 틀이라고 생각해보자

  this.name = name;
  this.age = age;

이것은 붕어빵 반죽이다
반죽을 틀에다가 부어보자

function User() {
	this.name = 'mike';
  	this.age = 20;
}

this라는 것은 user가 만들어낼 여러가지 맛의 붕어빵들을 가리킨다
=> 즉 user라는 생성자 함수가 만들어낼 비슷한 객체들을 가리킨다
그 객체의 이름을 마이크로, 그 객체의 나이를 20으로 해달라는 것

그러면 반죽도 완성이 되었으니 팥붕을 만들어보자
(필자는 팥붕파다)

function User() {
	this.name = 'mike';
  	this.age = 20;
}

let user1 = new User()
let user2 = new User()

팥붕어빵을 두개 만들었다
물론 팥붕이 근본이지만 그것만 있으면 손님이 오지 않을 것이다
그래서 붕어빵 틀을 업그레이드 시켜보자

function User(name , age) {
	this.name = name;
  	this.age = age;
}

let user1 = new User('mike',20)
let user2 = new User('jane',30)

user가 만드는 객체의 이름은 name 이라는 매개변수로 받은 값으로
age는 age라는 매개변수로 받은 값으로 설정해 주라고 적어놓는다면
비슷한 객체가 몇개가 있어도 문제가 없다
팥붕,슈붕,야채붕,피자붕 등등 원하는거 다 만들수가 있다

추가

추가적으로 class에 대해서 알려주겠다

class User {
  constructor(name , age){
    this.name = name;
    this.age = age;
  }
}

신식 문법이다 생성자 함수와 같다
객체지향 프로그래밍에서 많이 쓴다고 하는데 나는 현재 함수형 프로그래밍을 배우고 있어서
깊게 배우지 않았다
다음 프로토타입에서 왜 생성자 함수를 배웠는지 알게 될것이다

profile
이름 값 하는 개발자가 꿈인 사람

0개의 댓글