본문 바로가기
JavaScript/이론 및 용어

객체의 키와 값에 접근하는 방법

by tokkiC 2022. 8. 29.

이상하게 생각한게 있었다

객체의 key나 value 를 접근할때 for in 문을 사용해서 객체의 속성을 순회하며 배열로 받는데

객체명.keys()

으로 객체 속성 key 값에 접근 가능한 객체가 있는가 하면

Object.keys(객체명)

으로 접근 가능한 객체가 있었다

용도는 같지만 서로 사용처가 달라서 왜 그런지, 어쩔때 둘 중 하나를 써야하는지 몰라 애를 먹곤했다

결론부터 말하자면 객체를 순회하며 데이터를 배열로 반환하고자 할때,

특수한 객체인 Map , Set , Array (자료구조) 에서만 객체명.keys() , 객체명.values() , 객체명.entries() 로 사용한다

그 외의 일반 객체에서는 Object.keys(객체명) , Object.values(객체명) ,Object.entries(객체명) 으로 사용해야 한다

아 그리고 FormData 객체도 일반 객체가 아닌 특수한 객체이다. 사용법이 일반 객체와 다르니 아래를 참고해서 쓰자

https://developer.mozilla.org/ko/docs/Web/API/FormData/get

 

FormData.get() - Web API | MDN

FormData 인터페이스의 get() 메서드는 FormData 객체에서 지정한 키와 연관된 첫 번째 값을 반환합니다. 값이 여러개이고, 모든 값을 원하면 이 메서드 대신 getAll() 메서드를 사용하십시오.

developer.mozilla.org

이걸 몰라서 객체 문제에서 객체에 접근이 안됐어서 아오... 크흡

참고 사이트 : 

https://ko.javascript.info/keys-values-entries

 

Object.keys, values, entries

 

ko.javascript.info

 

댓글