일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Flutter
- testautomationuniversity
- QA
- 테스트자동화
- Python
- 카카오API
- ShareTechnote
- 코멘토
- 무선통신
- 앱개발
- 코딩테스트
- QA직무교육
- QA자동화
- LTE기초
- 감사일기
- 코멘토실무PT
- DART
- QA자동화테스트
- pytest
- HTTP
- 하이브리드앱테스트
- HTML
- 서평
- 코딩
- 백준
- 웹ui자동화
- 실무PT후기
- Selenium
- javascript
- 자동화테스트
- Today
- Total
오예남
[Javascript] 자바스크립트 객체 리터럴 이란? 본문
배열이나 함수가 아닌 것들 중에 특정 모양을 가지면 객체 리터럴 이라고 부릅니다.
객체 리터럴은 여러개의 정보를 하나의 변수로 묶을 때 사용합니다.
객체 리터럴을 왜 사용하는가?
const name = '짱구'
const year = 1990
const contry = 'Japan'
const gender = 'Male'
▲ 위와 같이 짱구에 대한 정보를 쉽게 정의할 수는 있지만,
이와 동일하게 다른 사람의 정보를 추가하고 싶을때는 같은 변수명 (name, year, contry, gender)을 쓸 수 없기때문에
다른 변수를 정의해야하는 불편함이 있습니다.
이럴 때 객체를 사용하여 관계가 있는 여러개의 변수를 하나로 묶어 재사용할 수 있습니다.
const myBoy = {
name : '짱구',
year : 1990,
contry : 'Japan',
gender : 'Male',
};
▲ 변수명으로 myBoy를 사용하고 {} 안에 관련된 정보를 묶어두었습니다.
객체 내부에 모아놓은 name, year, contry, gender 같은 정보들을 속성(property)라고 합니다.
const 객체 = {
속성 이름 1 : 속성 값 1,
속성 이름 2 : 속성 값 2,
속성 이름 3 : 속성 값 3,
}
▲ 속성 값의 마지막에는 쉽표를 붙이든 붙이지 않든 상관없지만, 속성을 추가할 때 복사 붙여넣기 하다가 쉼표를 빼먹어서 에러날 수도 있으므로 그냥 다 붙이는 것을 추천드립니다 ㅎㅎ
const 객체 = {
abc : 'Test',
'3abc' : 34,
'4+9' : 'test',
}
▲ 속성명은 문자열이 들어가야하고 따옴표를 붙이지 않아도 되지만, 첫글자에 숫자가 들어가거나 띄어쓰기/특수문자가 있는 경우 따옴표가 필요합니다!
객체의 속성 값 불러오기
const myBoy = {
name : '짱구',
year : 1990,
contry : 'Japan',
gender : 'Male',
};
console.log(myBoy.name)
console.log(myBoy.year)
console.log(myBoy.contry)
console.log(myBoy.gender)
console.log(myBoy['gender'])
(결과)--------------------
짱구
1990
Japan
Male
Male
객체에서 정의한 속성 값은 대괄호나 .을 사용하여 불러올 수 있습니다.
다만, 속성명에 따옴표를 넣은 속성명은 대괄호를 사용해야만 불러올 수 있습니다!
따옴표 없이 .을 사용하여 불러오면 Error
객체 속성 수정하기
myBoy.contry = 'Korea';
console.log(myBoy.contry);
(결과)--------
Korea
객체 속성 제거하기
delete myBoy.contry;
console.log(myBoy.contry);
(결과)--------
undefined
▲ contry 속성은 제거되어 undefined 이 표시됩니다.
참고로, 처음 myBoy 를 상수로 선언하였기 때문에 객체 자체는 변경할 수 없지만,
객체 내부의 속성은 수정이 가능합니다.
배열과 객체 리터럴의 차이
const 짱구 = [1990,'Japan','Male']
▲ 배열을 사용하여 위와 같이 짱구라는 변수를 정의할 수도있겠지만
객체 리터럴을 사용하면 속성명을 포함하여 저장할 수 있습니다.
배열은 여러 값들을 인덱스만으로 구별하여 모아놓은 것이기 때문에
단순히 관련 정보를 묶어놓기만 하시려면 배열을 사용하시고, 각 속성 값마다 속성명을 부여하고 싶다면 객체 리터럴을 사용하시면 됩니다.
'기타코딩' 카테고리의 다른 글
[HTML] onkeydown/onkeypress/onkeyup 차이 (0) | 2021.09.19 |
---|---|
프론트엔드 코딩테스트 준비 - 백준 1001 Javascript [A-B] (0) | 2021.09.18 |
[Javascript] parseInt() 함수와 Number() 함수의 차이 (0) | 2021.09.16 |
프론트엔드 코딩테스트 준비 - 백준 1000 Javascript [A+B] (0) | 2021.09.14 |
Firebase - Authentication : GitHub 연동하기 (0) | 2021.09.13 |