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

delilah·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개의 댓글