var grades = {'egoing': 10, 'egoing': 6, 'sorialgi': 80};
for(key in grades) {
console.log(grades[key]);
}
/* 6
8 */
var grades = {'egoing': 10};
위 코드에서 'egoing'은 key가 되고, 10은 value가 된다.
// 빈 객체의 생성
var person = new Object();
// 프로퍼티 추가
person.name = 'Lee';
person.gender = 'male';
person.sayHello = function () {
console.log('Hi! My name is ' + this.name);
};
console.log(typeof person); // object
console.log(person); // {name: "Lee", gender: "male", sayHello: ƒ}
person.sayHello(); // Hi! My name is Lee
var person1 = {
name: 'Lee',
gender: 'male',
sayHello: function () {
console.log('Hi! My name is ' + this.name); // Hi! My name is Lee
}
};
var person2 = {
name: 'Kim',
gender: 'female',
sayHello: function () {
console.log('Hi! My name is ' + this.name); // Hi! My name is Kim
}
};
// 생성자 함수
function Person(name, gender) {
this.name = name;
this.gender = gender;
this.sayHello = function(){
console.log('Hi! My name is ' + this.name);
};
}
// 인스턴스의 생성
var person1 = new Person('Lee', 'male');
var person2 = new Person('Kim', 'female');
console.log('person1: ', typeof person1); // object
console.log('person2: ', typeof person2); // object
console.log('person1: ', person1);
// Person {name: "Lee", gender: "male", sayHello: ƒ}
console.log('person2: ', person2);
// Person {name: "Kim", gender: "female", sayHello: ƒ}
person1.sayHello(); // Hi! My name is Lee
person2.sayHello(); // Hi! My name is Kim
1) Person 옆에 (name, gender)는 처음 만들 때 매개변수를 받는 부분이다.
2) 받은 매개변수들을 this.name, this.gender에 저장한다.
3) this에 저장된 것들은 new를 통해 객체를 만들 때 그 객체(인스턴스)에 적용된다.
객체에 들어가면서 한 번에 이해되지 않는 내용이 생기기 시작했다. 특히 새로운 용어들이 꼬리에 꼬리를 물기 때문에 다 찾아보려면 끝이 없다는 것을 깨닫고😂 적당히 끊어가면서 당장 이해하는 데에 필요한 부분만 공부하고 나머지는 나중에 찾아보는 요령이 생겼다.