객체:서로 연관된 변수와 함수를 그룹핑해서 이름을 붙인것
var memberObject = {
manager: 'egoing',
developer: 'graphittie',
designer: 'leezhce',
};
이렇게 object가 있으면
memberObject.designer = 'leezche';
이렇게 object에 있는 애의 값을 바꿔줄 수 도 있고
console.log('memberObject.designer', memberObject.designer);
console.log("memberObject['designer']",memberObject['designer']);
위의 두가지 방법으로 값을 빼내줄수도 있음
delete memberObject.manager;
console.log('after delete : memberObject.manager', memberObject.manager);
마지막으로 이렇게 object값 delete 해줄 수도 있음.
var memberObject = {
manager: 'egoing',
developer: 'graphittie',
designer: 'leezche',
};
console.group('object loop');
for (var name in memberObject) {
console.log(name, memberObject[name]);
}
console.groupEnd('object loop');
이렇게 object을 반복하는 방법도 배웠다.
그렇다면 객체는 언제 쓰는것일까?
console.log('Math.PI', Math.PI);
console.log('Math.random()', Math.random());
console.log('Math.floor(3.9)', Math.floor(3.9));
위의 예시와 같이 각 기능들을 정리정돈해서 개발하기 편하게 만들어줄때
객체를 사용하게 된다. 위의 예시에서 Math라는 객체를 써서
이 기능을 정리정돈 한것이다.
var MyMath = {
PI: Math.PI,
random: function () {
return Math.random();
},
floor: function (val) {
return Math.floor(val);
},
};
console.log('MyMath.PI', MyMath.PI);
console.log('MyMath.random()', MyMath.random());
console.log('MyMath.floor(3.9)', MyMath.floor(3.9));
위의 코드에서
객체에 소속되어 있는 함수는 메소드라고 부른다.
여기서 Math.random(),MyMath.floor(val)와 같은 애들이 메소드
var kim = {
name: 'kim',
first: 10,
second: 20,
sum: function () {
return this.first + this.second;
},
};
// console.log('kim.sum(kim.first,kim.second)', kim.sum(kim.first, kim.second));
console.log('kim.sum(kim.first,kim.second)', kim.sum());
여기서 this란?
(객체안에속한)메서드 입장에서 자신이 속한 객체 자체를 지칭하는, '자신이 몸담고 있는 소속'을 가리키는 특수한 키워드 이다.