Nomard Life

[javascript] Constructor 객체를 만드는 생성자 본문

Develop

[javascript] Constructor 객체를 만드는 생성자

Dev_Charlotte 2024. 4. 11. 09:25
728x90

객체란?

자바스크립트 명령문으로, 어떤 처리를 지시하고 하는 대상

 

자바스크립트는 프로그래밍 언어로써, 소프트웨어적 대상(웹브라우저, 웹 요소, 웹 스타일 등)에게 명령을 내리는 역할을 수행한다.
명령을 내리고픈 대상에게 명령을 전달하면 다음 절차대로 작업이 이루어진다.

입력 → 처리 → 출력

 

객체에 내릴 수 있는 명령

Object.data // 객체가 가지고 있는 데이터(정보)를 가리켜 '속성'이라 한다. (숫자, 문자 등 다양한 데이터 사용)
Object.function() // 객체가 가지고 있는 기능을 '메소드'라고 한다. (기능을 수행함) 괄호 필수!!

 

자바스크립트 코드 내에서 객체는 '값 또는 기능을 가지고 있는 데이터'
원하는 값이나 기능으로 구성된 객체를 직접 만들 수 있다.

 

생성자 Constructor

객체를 생성할 때 사용하는 함수.
일반함수와 생성자 함수 사이에 문법적 차이는 존재하지 않는다. 
즉, 함수는 생성자 역할을 할 수 있다. 다만 생성자함수는 객체생성을 목적으로 한다.
⇢ 자바스크립트가 제공하지 않는 유형의 데이터를 창조!!!

function Dog(){ // 관례 : 생성자 함수를 구분하기 위해 첫글자 대문자(파스칼표기법사용)
	this.name = "콩이";
    this.breed = "시츄";
}

const myDog = new Dog(); // 실제 객체가 생성되기 위해서는 new 연산을 통해 객체 반환해야함
console.log(myDog.name) // 콩이
console.log(myDog.breed) // 시츄

생성자 함수 정의 시 this 키워드는 객체 그 자신의 의미한다.
this를 이용해 속성이나 메소드를 추가할 수 있다.

생성자 함수는 객체를 만드는 설계도 역할을 한다. 함수 하나로 여러개의 객체 생성도 가능
매개변수를 정의하여 인자를 전달한다.

function Dog(eachName, eachBreed){
	this.name = eachName;
    this.breed = eachBreed;
    this.info = () => {console.log(`우리 ${name}는 ${breed}종입니다.`)}
}

const one = new Dog("바둑이", "진돗개");
const two = new Dog("하나코", "시바견");
const three = new Dog("마르코", "셰퍼드");

three.info() // 우리 마르코는 셰퍼드종입니다. (생성자 내부 함수 호출)
728x90

'Develop' 카테고리의 다른 글

[javascript] 타이머메소드  (0) 2024.04.11
[javascript] 빌트인생성자 Date  (0) 2024.04.11
[javascipt] 배열 메소드  (0) 2024.04.08
[javascript] Local Storage 로컬 스토리지  (0) 2024.04.08
[javascript] JSON 빌트인 객체  (0) 2024.04.08