본문 바로가기
카테고리 없음

JS 객체 생성 방법

by kjwkjw 2021. 8. 29.

javascript에서 블럭단위 변수를 생성할 때 사용하는 키워드는 const와 let이 있다.

 

const는 변수를 생성하면 변수값을 변경할 수 없고 let은 변수값을 변경할 수 있다는 차이점이 있다.

 

그러나 객체의 경우  객체의 속성을 변경했을 때 객체의 주소값이 변경되지 않으므로 const로 선언이 가능하다.

 

예를 들어 car.name이 k5일 때 car.name = "k7";으로 변경을 시도하더라도 에러가 발생하지 않는다.

 

객체를 선언하는 방법

 

const laptop = {
    name: "samsung",
    speaker: "samsung speaker"
}

다음과 같이 {} 안에 속성명: 속성값 형식으로 선언할 수 있다.

 

객체를 미리 생성하고 속성을 지정하는 방법

const laptop = {}; // new Object();

car.name = "sumsung";
car.powerOn = function(){
    console.log("전원을 켭니다.");
}

다음과 같이 객체를 미리 생성하고  .으로 객체에 접근하여 속성을 지정하거나 함수를 만들 수 있다.

 

function으로 생성자를 만들어 선언하는 방법

function Laptop(name,speaker){
   this.name = name;
   this.speaker = speaker;
}


const myLaptop = new Laptop("mac","samsung");

 

function으로 생성자를 정의한다면 다음과 같이 new키워드로 객체를 생성할 수 있다.

function으로 생성자를 정의할 때 속성을 정의하고 싶으면 다음과 같이 속성명 앞에 this키워드를 반드시 붙여줘야 한다.

 

 

 

클래스를 생성하여 생성자를 만들어 객체를 생성하는 방법

class Laptop{

  constructor(name, speaker){
  	this.name = name;
    this.speaker = speaker;
  }
  
  powerOn(){
  	console.log("전원을 켭니다.");
  }

}

const myLaptop = new Laptop("mac","sony");

myLaptop.powerOn();

다음과 같이 JAVA처럼 클래스를 정의하고 생성자를 만들어서 new키워드를 사용해 객체를 생성할 수 있다.

 

그러나 JAVA와 달리 생성자 오버로딩이 불가능하다.

 

 

 

객체 내에서 메소드를 정의하는 방법

 

일반적으로 메소드를 정의할 때 

 

var fun1 = function(){}

또는 

 

function fun1(){}

과 같이 선언할 수 있다.

 

객체 안에서 메소드를 선언하는 방법은

 

fun1 : function(){

     실행문;

}

처럼 다른 메소드 선언 방식과 다르게 선언한다.

또는

 

fun1(){

     실행문;

}

과 같이 일반적인 메소드 선언방식으로 선언할 수 있다.

 

 

const laptop = {
    name: "samsung",
    speaker: "samsung speaker"
    
    setSpeaker: function(speaker){
       this.speaker = speaker;
    }
    
    powerOn(){
      console.log("전원을 켭니다.");
    }
}

 

 

 

 

클라이언트에서 객체를 서버로 전달할 때는 객체를  JSON 문자열로 바꿔서 전달해야 한다.

 

그럴때 JSON.stringify 메소드를 사용한다.

 

//객체 -> JSON 문자열
let strJson = JSON.stringify(car);
console.log(strJson);

 

서버에서 전달받은 JSON 문자열을 다시 객체로 사용하기 위해서는 JSON.parse  메소드를 사용한다.

 

 let car2 = JSON.parse(strJson);

 

댓글