1. 속성 - 동적 추가
var object = {};
object.name = 'rint';
object.hobby = ['Guitar','Piano'];
2. 속성 메소드 동적 추가
Object.prototype.iterate = function(callback){
for(var key in this){
callback(key, this[key], this);
}
};
({ // 객체 생성
name: 'rint',
hobby: ['Guitar','Piano']
})
.iterate(function(key, item){ // 객체 속성 추가
console.log(key, item);
});
[CONSOLE LOG]
name rint
hobby ["Guitar", "Piano", iterate: function]
iterate function (callback){
for(var key in this){
callback(key, this[key], this);
}
}
javascript에서 동적으로 추가한 속성은 모두 보여진다.
ECMAScript5의 객체 메소드
Object.create(Object, properties) - 새로운 객체를 생성해 리턴
Object.defineProperty(Object, name, property) - 객체에 속성을 하나 정의
Object.defineProperties(Object, properties) - 객체에 속성을 여러 개 정의
ECMAScript5의 객체를 이용한 속성 추가
Object.defineProperties(Object.prototype, {
iterate: {
value: function(callback){
for(var key in this){
callback(key, this[key], this);
}
}
}
});
({
name: 'rint',
hobby: ['Guitar','Piano']
})
.iterate(function(key, item){
console.log(key, item);
});
[CONSOLE LOG]
name rint
hobby ["Guitar", "Piano"]
strict 모드
var object = { one: 10, one: 20 };
오류는 아니지만, 사용자가 쓸데 없는 코드를 작성했을 경우 오류를 발생시키고 싶다면 use strict를
스크립트의 가장 앞 부분에 사용합니다.
'use strict';
var object = {
one: 10,
one: 20
};
함수 단위로 strict 모드 적용
function(){
'use strict';
var object = { one: 10, one: 20 };
})();
'javascript' 카테고리의 다른 글
커피스크립트 문법 #1 (0) | 2014.09.22 |
---|---|
커피스크립트 설치/ 컴파일/ 실행 (0) | 2014.09.22 |
javascript 나만 몰랐던 이야기 (0) | 2014.07.24 |
javascript 이벤트 (0) | 2014.07.23 |
javascript 클래스 (0) | 2014.07.21 |