자바 스크립트 객체
📘자바 스크립트
객체
객체 생성
const superman = }
name : 'clark',
age : 33,
}
객체 접근
superman.name //’clark’ superman[‘age’] // 33
객체 추가
superman.gender = ‘male’; superman[‘hairColor’] = ‘black’;
객체 삭제
delete superman.hairColor;
객체 확인
function isAdult(user){
if(!('age' in user) || // user에 age가 없거나
user.age <20){ // 20살 미만이거나
return false;
}
return true;
}
const Mike1 = {
name : 'Mike',
age : 30
};
const Jane = {
name : 'jane'
};
console.log(isAdult(Mike1)) // true
console.log(isAdult(Jane)) // false
단축 프로퍼티
function makeObject(name,age){
return{
name,//name : name,
age,//age : age,
hobby : 'football'
}
}
const Mike = makeObject("Mike",30); // 객체 생성됨
객체 순회 for .. in
//객체 for .. in
const Mike3 = {
name : "Mike",
age :30
}
for (x in Mike){
console.log(Mike[x]) // Mike가 가지고 있는 key 값 출력
}
객체 Method
const super man={
name :'clark',
age:33,
fly(){ //fly : function() 을 줄여 쓴것임
console.log("날아갑니다")
}
}
객체 this
- 일반 함수 에서의 this ``` const user = { name = ‘mike’, sayHello(){ console.log{‘Hello i’m ${this.name}} } }
- 화살표 함수 에서의 this
let boy ={ name : ‘mike’, sayHello :() =>{ console.log(this); // 전역 객체 *브라우저 환경 : window *node js : global } }
boy.sayHello(); // this!=boy ```
화살표 함수는 일반 함수와는 달리 자신만의 this를 가지지 않음 화살표 함수 내부에서 this를 사용하면, 그 this 는 외부에서 값을 가져옴