[JS] 객체의 프로퍼티에 접근할 때 유용한 3가지
NodeJS 2023. 5. 16.
- Object.keys()
- Object.entries()
- for...in
Object.keys()
이 메소드는 인자로 받은 객체의 모든 key를 배열로 리턴한다.
let user = {
name: "John",
age: 30,
city: "Seoul"
};
let keys = Object.keys(user);
console.log(keys); // ["name", "age", "city"]
활용방법
Database의 데이터를 수정할 때 사용하면 좋다.
// app.put 라우터 핸들러 내부 모습이다. 생략된 코드가 있으니 이해용도로만 보자
const { id } = req.params;
const newInfo = req.body;
const member = await Member.findOne({ where: { id } })
Object.keys(newInfo).forEach((prop) => {
newInfo[prop]
})
Object.entries()
이 메소드는 객체의 모든 key-value 쌍을 2차원 배열로 리턴한다.
let user = {
name: "John",
age: 30,
city: "Seoul"
};
let entries = Object.entries(user);
console.log(entries);
// [["name", "John"], ["age", 30], ["city", "Seoul"]]
for...in
이 반복문을 사용하면 모든 열거 가능한 프로퍼티들을 반복한다.
더보기: for...in 반복문이란?
더보기
for...in 반복문
for (let 변수 in 객체) {
반복내용
};
여기서 변수는 객체의 프로퍼티가 할당된다.(변수 = 프로퍼티) 대표적으로 이 프로퍼티를 사용해서 객체의 값에도 접근이 가능하다.
예를 들면, 반복내용에 console.log(객체[변수]) 형식으로 작성하게 되면 일반적으로 객체에 접근하는 것처럼 접근이 가능하다.
let user = {
name: "John",
age: 30,
city: "Seoul"
};
for (let key in user) {
console.log(key + ": " + user[key]);
}
// name: John
// age: 30
// city: Seoul
'NodeJS' 카테고리의 다른 글
[Node.js] bcrypt와 jwt 이해 및 사용법 (0) | 2023.05.29 |
---|---|
[Node.js] 유효성 검사(Validation), express-validator 사용법 (0) | 2023.05.28 |
[Node] findOne 메소드와 조건추가 이해하기 (0) | 2023.05.15 |
[Node] findAll 메소드 활용하여 Database 조회하기 (0) | 2023.05.15 |
[JS] Promise 객체 이해 및 체이닝에 대해 이해하기 (0) | 2023.05.14 |