객체

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

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















 

Subscribe
Notify of
guest

2 Comments
Newest
Oldest Most Voted
Inline Feedbacks
모든 댓글 보기
jeonghwan
7 years ago

휴일에도 공부하시네요

2
0
생각을 나눠주시면 감사해요!x
()
x
Please enter Google Username or ID to start!
Example: clip360net or 116819034451508671546
Title
Caption
File name
Size
Alignment
Link to
  Open new windows
  Rel nofollow