Object 객체
: 식별할 수 있는 것을 상세 특징으로 표현하려한 형식 (코드 타입)
- const 상수로 선언하는 것이 일반적
- 객체의 지속성을 유지하고 확보하기 위함
기본형
{ 속성명 : 속성값, 속성명2 : 속성값2 ... } 으로 표현
예)
<script>
const car = {name:'myCar', year:2023};
</script>
- 속성명 : 객체 내에서 중복되면 안됨 (고유 키)
- 객체 내부의 속성 값으로 사용할 수 있는 데이터 타입은 제한이 없음
- 객체의 속성값으로 익명함수를 정의하면 그 함수 = 메서드 (메서드명은 속성명)
- const car=100; 으로 재할당이 불가능! (car의 지속성을 확보하기 위해)
사용예
<script>
const me = {
lastName : 'park',
firstName : 'jungeun',
age : 26,
addr : 'incheon',
isDeveloper : true,
'hobby' : 'game',
'myFavor' : '간식',
// 따옴표 사용도 가능!
avail:{
year:2023,
title:'javascript',
ver:'ES6+',
project:'Back-end',
intro: function(){
console.log(`${me.avail.title}:${me.avail.ver}=${me.avail.project}`);
return `re:${this.title} : ${this.ver} = ${this.project}`;
// this는 현재의 나!
}
},
year : 2023
};
// 세미콜론 ; 의 유무는 선택
// 전체 데이터 추출
console.log(me);
// 원하는 데이터 추출
console.log(me.addr); // incheon
console.log(me.year); // 2023
console.log(me.avail.project); // Back-end
console.log(me.avail.title); // javascript
console.log(me.avail.intro); // 함수 실행이 아닌 지목!
console.log(me.avail.intro()); // 함수 실행(invoke:호출실행)
console.log('---------------------------------------');
console.log(me['addr']); // incheon
console.log(me['hobby']); //game
console.log(me['avail']['title']); //javascript
console.log(me['avail']['intro']());
//javascript:ES6+=Back-end
//re:javascript : ES6+ = Back-end
console.log('---------------------------------------');
let keyName = 'firstName';
console.log(me[keyName]); // jungeun = me['firstName']과 동일
keyName = 'age';
console.log(me[keyName]); // 26 = me['age']와 동일
console.log('---------------------------------------');
// 혼용 가능
console.log(me.avail['title']); //javascript
console.log(me['avail'].ver); //ES6+
</script>
'HTML.CSS.JS > JS' 카테고리의 다른 글
[JS] event 객체 (0) | 2023.04.12 |
---|---|
[JS] Object 생성하고 출력해보기 (0) | 2023.04.12 |
[JS] arrow 화살표 함수 (0) | 2023.04.12 |
[JS] 함수 파라미터(매개변수) 받아 사용하기 (0) | 2023.04.12 |
[JS] return 리턴 (0) | 2023.04.12 |