TIL(Today I Learned).Object

d·2020년 6월 27일
0

wecode 1주차가 끝난 주말 토요일에 작성..
2020.06.27

다시 나타난 object

hello라는 변수에 빈 객체를 할당한다.
let hello = {};

객체는 순서가 없는 데이터의 모음이다.
반대로
데이터는 순서가 있는 배열이다.

let arr = {'고양이', '귀여워', '멍멍이', '좋아'-;
arr의 요소가 차례대로 추가된 것이고
index는 0부터 시작한다..

arr[0]은 '고양이'
arr[1]은 '귀여워'

ket는 property name
value는 property value라 한다.

키는 특정 값을 갖고 있는 변수같은 역할을 한다.

예를 들어,
let difficult = {
'my name': 'boong',
color: 'silver',
키: '한글인 키는 따옴표가 없어도 되는군 !!'
'!키': '느낌표 있는 키는 따옴표가 필요하군'.
special:special: '는 없어도 되는군'
};

객체의 키에는 스페이스, 한글, 특수문자 등이 들어간다.

변수(variable)을 선언할 때는 할 수 없었던 표현들이다.

color와 같이 키에 특수문자가 없으면 따옴표를 생략하고 쓸수가 있다..

프로퍼티 접근

접근은 dot(.)으로 접근하는 방법과,
[]대괄호로 접근하는 법이 있다.

let difficult = {
33: '숫자 형식도 되네'.
'my name': '스페이스 포함 가능',
color: 'silver',
키: '한글인 키는 따옴표가 없어도 되는군 !!',
'!키': '느낌표 있는 키는 따옴표가 필요하군'.
special:special: '는 없어도 되는군'
};

console.log(difficult.color);
사실 키만 알고 있으면 dot(.)으로 접근하는법이
가장 편하다고 한다.
dot으로 접근할 때는 따옴표 없이 키를 바로 써주어야 한다.

반면, 대괄호 []로도 접근할 수도 있다.
console.log(difficult['color']);
대괄호로 접근하려면 키 이름을 따옴표로 감싸서 작성해주어야 한다.

console.log(difficult.my name);
이렇게 콘솔을 찍으면 오류가 난다.
스페이스가 포함된 키는 대괄호로 접근해야만 한다.
console.log(difficult['33']);

어떤 것은 dot(',')접근 가능, 어떤 것은 대괄호만 가능하다

변수로 프로퍼티 접근하기.

let name = '키';
console.log(difficult[name]);

변수에 키 이름이 저장되어있으면, 변수로도 프로퍼티에 접근 가능하다..
이때 dot(.)다음에 변수명을 넣어서 프로퍼티에 접근 가능한지 살펴보자.
console.log(difficult.name);

실행결과 undefined가 나온다.

dot(.)으로 접근한다는 것은 실제 키 이름을 쓸 때이다.
'name'이라는 키가 있으면 그에 해당하는 프로퍼티에
접근할 수 있었으나, 존재하지 않았기 때문에 undefined가 나온 것이다.

변수로 접근할 때는 항상 대괄호로 접근해야함을 알 수 있었다.

프로퍼티 할당

difficult[name] = '값 바꾼다';
console.log(difficult[name]);

difficult.color = '색깔';
console.log(difficult.color);

console.log('생성전: ' + difficult.new);
difficult.new = '새로 추가된 프로퍼티';
console.log('생성후: ' + difficult.new);

profile
d

0개의 댓글