[TIL : 7] JS/Node 객체
👩💻 Achievement Goals : 객체
- 배열과 객체의 구조를 이해하고 언제, 어떻게 사용하는지 이해할 수 있다.
yes
- 배열과 객체의 특징을 구분하여 사용할 수 있다.
배열 : index에 요소가 담겨 순서를 가진다.
객체 : 각 key에 value를 한 쌍으로 담겨 의미를 가진다. 그럼 순서를 가질 순 없을까?let obj = {a : 1, b : 2, c : 3}; let arr1 = Object.keys(obj) console.log(arr1) // ['a', 'b', 'c'] <-배열로 담겨 순서를 가질 수 있다! let arr2 = Object.values(obj) console.log(arr2) // [1, 2, 3] let len1 = Object.keys(obj).length // 이러면 길이도 구할 수 있다! let len2 = Object.values(obj).length console.log(len1) // 3 console.log(len2) // 3 key와 value는 한 쌍이기 때문에 동일한 결과가 나온다!
- 객체 속성(property)의 추가, 조회, 변경, 삭제를 자유자재로 할 수 있다.
yes
- 객체 속성 조회법 두 가지,
dot notation
과bracket notation
의 차이를 이해한다.dot notation :
.
으로 조회한다.
bracket notation :[]
(대괄호)로 조회한다.key
값이 변수로 주어질 때 조회할 수 있다. (*변수가 아닐 경우에는 꼭''
로 키 값 감싸주기!)let user = {name : "jabae", city : "seoul", age : 20}; // value에는 꼭 '' || ""을 써 주어야 한다! console.log(user.name) // 'jabae' console.log(user['name']) // jabae let where = 'city' // console.log(user[where]) // seoul
- 여기서 잠깐!
key
가 있는 지 없는 지 확인할 수 있는 메소드가 있다!
'key' in obj
:obj
객체 안에key
값이 있는 지 확인할 수 있다. 있으면true
, 없으면false
를 반환한다.console.log('name' in user) // true console.log('email' in user) // false
- 객체 실습 - 2의
tweet.content
와tweet['content']
의 차이가 무엇인지 설명할 수 있다.위에서 설명했다.
- dot notation을 이용한 객체 할당 방식을 능숙하게 다룰 수 있다.
obj.a = "hello"
위의 예제를 이어서
user.age = 26; console.log(user.age) // 26
- 객체 속성 삭제를 위한
delete
키워드를 사용할 수 있다.delete
: 냅다 key 값과 value 값을 지워주는 키워드이다.dot notation
과bracket notation
과 함께 쓸 수 있다.
위의 예제를 이어서delete user.city; console.log(user) // {name: 'jabae', age: 26} delete user['age']; console.log(user) // {name: 'jabae'}
- 객체를 위한 for문
for ... in
문을 이해하고 다룰 수 있다.for 속성이름 in 객체
: 객체는 반복이 불가능하지만 for in은 가능하다!let friend = {name : "jihyu", city : "seoul", age : 20}; for (let key in friend) { console.log(key); // name\ city\ age\ 가 순서대로 출력된다. }
📚 그 외
for in
for of
가 배열에서, string에서, 객체에서 어떻게 쓰이는 지 알아보았는데, 그걸 내 것으로 만들기 위해서는 조금 더 공부가 필요할 것 같다. 많이 쓰인다고 하니 깊이 파고들 필요가 있다.Object.keys(obj).length
이렇게 객체의 요소 갯수를 구한다거나, 객체의 요소가 배열일 때obj[key][index]
이렇게 접근 가능하다는 게 신기하다.obj[key].slice(0, -1)
이런 식으로도 가능하다는 것도. 싱기방기😬- 정말 공부하면 공부할수록 더 깊고 끝없는 미로 속으로 들어가는 것 같은 느낌이랄까. 어느 정도 내 뼈대가 세워지면 차차 스스로 걸어갈 수 있을 것 같은데,,,😫 아직 초반이라 너무 욕심부리지 말자. 차근차근!🔥
- 여태 뒤로 밀었던 c언어 알고리즘도 꼭꼭 풀어야 겠다.
Author And Source
이 문제에 관하여([TIL : 7] JS/Node 객체), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pearpearb/TIL-7-JSNode-객체저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)