var empty_object = {};
var stooge = {
"first-name": "Jeo",
"last-name": "Howard"
};
var flight = {
airline: "Oceanic",
number: 815,
departure: {
IATA: "SYD",
time: "2004-09-22 14:55",
city: "Los Angeles"
}
};
console.log(stooge["first-name"]);
// || 연산자를 이용하여 기본값을 지정할 수 있다.
// && 도 비슷하게 이용할 수 있다.
var middle = stooge["middle-name"] || "none";
var status = flight.status || "unknown";
// 속성값의 갱신
// ㄴ이미 있는 값이면 교체한다
stooge["first-name"] = "Jerome";
// ㄴ 없는 값이면 속성을 추가한다
stooge['middle-name'] = 'Lester';
stooge.nickname = "Curly";
flight.equipment = {
model: 'Boeing 777'
};
flight.status = 'overdue';
//참조 : 객체는 결코 복사되지 않는다. 참조 방식으로 전달됨
var x = stooge;
x.nickname = 'Curly';
// 프로토타입
// ㄴ create 는 넘겨받은 객체를 프로토타입으로 하는 새로운 객체를 생성하는 메소드
if(typeof Object.create !== 'function'){
Object.create = function (o){
var F = function(){};
F.prototype = o;
return new F();
};
}
var another_stooge = Object.create(stooge);
//열거 (Enumeration)
var name;
for (name in another_stooge){
if (typeof another_stooge[name] !== 'function'){
console.log(name+':'+another_stooge[name]);
}
}
// 위 출력이 이름 순으로 안나와서 짱난다면 이름순으로 배열을 만들어 돌린다.
var stooge_properties = [
'first-name',
'middle-name',
'last-name',
'profession',
];
for (var i=0; i<stooge_properties.length; i += 1){
console.log(stooge_properties[i] + ': ' + another_stooge[stooge_properties[i]]);
}
// * 전역변수 사용
// 자바스크립트는 전역변수 사용이 쉬운데 이는 나중에 혼란을 야기한다.
// 그래서 큰 전역변수 하나 만들어 놓고 그 아래 객체형식으로 다른 전역변수를 만들면 좋다.
다른 글
휴일에도 공부하시네요
ㅋㅋㅋㅋ 자바스크립트 핵심가이드 책 사서 읽어보는데 이틀이면 읽을거 같아요.
복습 정리 관점에서 보면 되게 좋은 책인듯.