학습일지 (23.02.28.화)

FAST FOX·2023년 2월 28일
0

학습일지

목록 보기
12/39
post-thumbnail
post-custom-banner

• 객체

1 .객체 속성 호출법

1-1 dot notation
객체이름과 key사이에 .를 사용하는 방법으로 주로 쓰이는 방법이다.

1-2. bracket notation
key값으로 변수를 입력할 수 있다. 이 때는 key를 따옴표('' , "" ,``)으로 감싸야 한다.

< 호출법 예시 >
  
let obj = {
 cat : "Meow",
 dog : "Woof"
}
let dog = "cat";


console.log(obj.dog) // "Woof"
console.log(obj[dog]) // "Meow"

dot/bracket notation을 사용하여 값을 추가하거나 삭제할 수도 있다.

< 데이터 추가/삭제 >

let obj = {
  a : "cat",
  b : "dog"
}

< 추가 >
obj.c = "cow"
obj["cow"] = "cow"

=> 추가된 값이 반환된다.


< 삭제 >
delete obj.a
delete obj["a"]

=> 

2. in 연산자

in 연산자를 이용하면 해당하는 키가 있는지 확인할 수 있다. 반환값은 boolean으로 반환딘다.

let tweet = {
  writer : "stevelee",
  createdAt : "2019-09-10 12:03:33",
}

"content" in tweet; // true
"update" in tweet; // false

• 추가내용

1. for of/in

1-1 for of

const arr = [1,2,"cat",{a:1,b:2}];

for(let el of arr) {
  console.log(el);
}
/*
1
2
3
cat
{a:1,b:2}
*/
=> 배열의 모든 요소가 el에 순차적으로 들어간다.

1-2 for in

const obj = {a:1,b:[1,2,3],c:"cat"};

for (let prop in obj) {
  console.log(prop)
}
/*
a
b
c
*/
=> 객체의 key가 prop에 순차적으로 들어간다.

다음의 코드처럼 조건문에도 사용할 수 있다.

function extent(obj1,obj2) {
  for (let prop in obj2) {
    if(!(prop in obj1)) {
      obj1[prop] = obj2[prop];
    }
  }
}

3. 배열에서 같은 값이 몇번 들어가는지 확인하는 방법

function countAllCharacters(str) {
  const obj = {};
  for (let el of str) {
    obj[el] = (obj[el] || 0) + 1;
  }
  return obj;
}

단축평가를 사용해서 obj에 이미 있는 el이라면 기존의 number값에 +1을 해주고 새로운 el이라면 0으로 스타트해서 +1을 해준다.

profile
준비하는 개발자
post-custom-banner

0개의 댓글