IM 1W _ new 연산자와 생성자 함수

jungeundelilahLEE·2020년 10월 26일
0

JS_심화

목록 보기
7/17

goal

  1. 생성자

개발을 하다보면 비슷한 유형의 객체를 여러 개 만들어야 할 때가 있다.

new 연산자

: 사용자 정의 객체 타입 or 내장 객체 타입의 인스턴스를 생성

new constructor [ ([arguments]) ]
  • constructor : 객체 인스턴스의 타입을 기술(명세)하는 함수
  • arguments : constructor와 함께 호출될 값 목록
function Car (brand, model, color) {
  this.brand = brand;
  this.model = model;
  this.color = color;
}
let myCar = new Car ("BMW", "M550i", "blue")
console.log(myCar); 	// Car {brand: "BMW", model: "M550i", color: "blue"}
console.log(myCar.brand); // BMW
console.log(myCar.model); // M550i	
console.log(myCar.color); // blue
// usage : "반복(비슷한 유형의 객체 생성)"
------------------------------------------
let obj = new Object("delilah");
console.log(obj);	// String {"delilah"}
// Object는 함수
  • 생성자의 의의 : 재사용할 수 있는 객체를 생성하는 코드를 구현
  • 모든 함수는 생성자 함수가 될 수 있음!
  • 생성자 함수에는 보통 return문이 없음 : why?
    반환해야 할 것들은 모두 this에 저장되고, this는 자동으로 반환됨
  • 인자가 없는 생성자 함수는 괄호를 생략해서 호출할 수 있음
  • class 문법을 사용하면 생성자 함수를 사용하는 것과 마찬가지로 복잡한 객체를 만들 수 있음
  • JS에서 다양한 생성자 함수를 제공
    • Date : 날짜를 나타냄
    • Set : 집합(set)을 나타냄

인스턴스

An instance is an object containing data and behavior described by the class. The new operator instantiates the class in JavaScript: instance = new Class()

아주 간단하게는 "객체"
참조형 객체는 객체에 대한 정보를 따로 저장하고 있으며, 메모리 주소 정보를 저장하기 때문에 다른 변수에서 같은 객체를 참조하는 것이 가능
참조형 타입으로 값을 할당하면 '객체'라고함

인스턴스와 객체는 참조형으로만 생성할 수 있음

다음편에서 다시 제대로 정리해보자. 계속~

profile
delilah's journey

0개의 댓글