javascript를 공부하면서 진짜 헷갈리는것중 하나가 object 였고, 매개변수이다.
너무 이상해서 헷갈리지만 너무너무 중요하기에 기록해본다.
function print(person){
console.log(person.name);
console.log(person.age);
}
const jin = {
name: "jin",
age: 99
};
print(jin);
이게 오브젝트인데 오브젝트를 만드는방법은 두가지가있는데,
const obj1 = {}; //object literal
const obj2 = new Object(); //object constructor
근데 자바스립트는 동적으로 타입이 runtime때 결정되서 갑자기 object가 선언되었음에도 불구하고 jin.job = true; 이렇게 추가 및 삭제할수있다. delete jin.job;
하지만 오류가 생길수있으므로 하지말자.
오브젝트에 접근하는법은
console.log(jin.name); //코딩할때 사용
console.log(jin[`name`]); //computed properties (key값), 우리가 필요한 키값을 불러올떄 사용
//ex
function value(obj, key) {
console.log(obj[key]);
}
value(jin, 'name');
value(jin, 'age');
이렇게 두개가 가능하다.
const fruit1 = {name : banana, from : Brazil};
const fruit2 = {name : apple, from : korea};
const fruit3 = {name : lemon, from : america};
//이걸 쉽게
function Fruit(name, from){
this.name = name,
this.from = from;
}
//호출시
const fruit4 = Fruit('melon', singapole);
//or
const fruit4 = new Fruit('melon', singapole);
꿀팁* 오브젝트안에 있는 값을 찾을때, In이라는 키를써서 찾을수있다.
console.log('name' in Fruit);
for (key in obj) 와 for(key of obj)도있는데,
for in = 모든키를 받아와 쓸때
for of = 배열 리스트를 쓸때 순차적으로 (숫자같은)
for(key in jin) {
console.log(key) //key값을 받을때;
}
const array = [1,2,3,4];
for(value of array) {
console.log(value) //key값을 받을때;
}
오브젝트를 쉽게 할수있다.
//첫번째 방법.
const user = {name:'kim', age:20};
const user2 = user;
//두번째 방법
Object.assign(user3, user);
const user4 = Object.assign({}, user);
간편해진다. 자기가 맘에드는걸루 쓰자.