JavaScript

JavaScript ) 객체 리터럴

알아가는 번데기 2020. 6. 12. 20:25

일반 문자열과 템프릿 리터럴의 차이점 

작성방법 : 일반문자열 "..." ,  탬플릿 리터럴 ` ... `

 

1. 일반 문자열은 줄바꿈을 표한할때 시퀸스(/n)을 사용해야되지만 탬플릿 리터럴 ``은 일반적인 줄바꿈이 가능하다.

var normal = "aaaaa
aaaa" => 오류 발생 / (\n)시퀸스를 사용해야됨.
var template = `aaaaa
aaaaaaa` => 정상 동작

 

2. 탬플릿 리터럴 안에는 플레이스 홀더( ${...} )를 넣을 수 있다. 

var a = 1, b = 2;
console.log(`${a} + ${b} = ${a+b}`); => 1 + 2 = 3 정상출력
플레이스 홀더 ${...}란 입력 값처럼 실행시점 외부에서 주어지는 값을 표현하는 식 

 

 

 

 

객체 

JS에서 객체란 이름(PropertyName)과 값(Property)을 한 쌍으로 묶은 데이터를 여러 개 모은 것, 즉 복합 데이터 형태   

 

 

객체 리터럴로 객체 생성

var my = { name: "제이영", age: "7"};

프로퍼티 이름인 name과 age는 문자열( "" , '' )로 작성이 가능하다.

 

 

객체의 빈값

var a;  console.log(a); => undefined

객체에 없는 프로퍼티를 읽으려면 시도하면 undefined를 반환한다 

 

 

추가적인 객체 생성

var b = { "name" : "제이영", "age" : "7"};
b.gender = "남자"; => b객체의 리터럴 값으로 추가 생성.
console.log(b); => {name: "제이영", age: "7", gender: "남자"}

없는 프로퍼티 이름에 값을 대입하면 새로운 프로퍼티가 추가 된다.

 

 

delete 연산자를 사용한 프로퍼티 삭제

var b = {"name": "제이영","age": "7"};
b.gender = "남자";
delete b.name;
console.log(b);

* delete 구문뒤에 엔터 입력후 작성 한다는걸 숙지하자.

 

 

in연산자로 프로퍼티가 확인하기

var b = {"name": "제이영","age": "7"};
b.gender = "남자";
delete b.name;
console.log(b);
console.log("age" in b); // in연산자 작성법 = 프로퍼티 이름 in 객체명 

 

 

 

객체는 원시타입의 값들 뿐만아니라 객체의 리터럴 안에 객체와 함수를 선언할 수 있다, 이때 객체 리터럴안에 선언된 함수를 메소드라고 명명한다

 

 

 

객체의 프로퍼티 값으로 객체를 대입하는 방법

var my = {
name : "제이영",
age : "7",
address : { home :"서울특별시 노원구"}
};
console.log(my.address.home);

 

객체 프로퍼티 값으로 선언된 객체 접근방법

my.address.home => 서울특별시 노원구