객체

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]]);
}

// * 전역변수 사용
// 자바스크립트는 전역변수 사용이 쉬운데 이는 나중에 혼란을 야기한다.
// 그래서 큰 전역변수 하나 만들어 놓고 그 아래 객체형식으로 다른 전역변수를 만들면 좋다.















 

“객체”의 2개의 생각

    1. ㅋㅋㅋㅋ 자바스크립트 핵심가이드 책 사서 읽어보는데 이틀이면 읽을거 같아요.
      복습 정리 관점에서 보면 되게 좋은 책인듯.

의견을 남겨주세용