"자바스크립트의 모든 것이 다 객체다!"
let shopping ={
year: 2020,
'is Nice': true,
'brand-Name': 'emart',
best_product: {
food: 'sushi',
fruit: 'pineapple'
}
}
key(property name): value(property value)
property name:
-string, 암묵적으로 문자열 형변환 함으로 따옴표 생략 가능
-항상 문자, _밑줄, $ 기호로 시작해야함
-숫자, 띄어쓰기 금지, 하이픈 금지 (-) -> 따옴표로 감싸면 사용가능
property value:
자료형 상관없음, 다른 객체도 들어 갈 수 있음
type of 로 출력하면 object 자료형 나옴
-객체는 변수에 담겨서 이름을 만든다.
점 표기법
console.log(shopping.year); //출력 2020
대괄호 표기법
console.log(shopping['is Nice']); //출력 true
-따옴표로 감싼 금지 naming도 대괄호 이용하면 사용가능
객체안의 객체 접근법
console.log(shopping.best_product.food); //출력 sushi
//점
shopping.year = 2013; //출력: 위 코드와 연결, 2020 에서 2013으로 바뀜
console.log(shopping.year)
//대괄호
console.log(shopping['brand-Name'])
shopping['brand-Name'] = 'home-plus'
console.log(shopping['brand-Name']) //emart 에서 homeplus 로 출력
shopping.ceo = '정용진';
console.log(shopping.ceo)
delete shopping.year;
'propertyName' in object 존재여부 판단
console.log('ceo' in shopping); //출력: true
불린 형태로 값 출력
연관성있는 여러 함수를 묶고 싶을 때
메소드는 어떤 객체의 고유 동작으로서 객체에 의미를 부여함
파라미터로 다른 변수에 담긴 값을 가져올 때는 대괄호 표기법 사용해야함.
이미 익숙한 console.log도 메소드
console 이라는 객체에
log라는 메쏘드
console.log(hi)
e.g.
let greetings = {
sayHello: function() {
console.log('Hello');
},
sayBye: function() {
console.log('Bye');
}
};
greetings['sayBye']();
객체 안의 프로퍼티를 가지고 반복문을 만듦
for (변수 in 객체) {
동작부분
}
let shop ={
year: 2020,
'is Nice': true,
'brand-Name': 'emart',
best_product: 'food'
}
for (let k in shop) {
console.log(k);
console.log(shop[k]);
}
-정수형 (1,2,3...) 프로퍼티 네임은 오름차순으로 정렬되어 출력됨. 일반적으로 잘 사용하지 않음.
-숫자형은 문자열로 형 변환 되어 사용됨
내장 객체 Standard built-in object
날짜
//현재
let myDate = new Date();
console.log(myDate)
//지정
let myDate = new Date('2020-11-11');
console.log(myDate)
연관 메소드: getFullYear(), getMonth(), getDate() ...
주의:
0월이 January
date 일자
day 요일 (월화수목~)