Today I learned
1. forEach문의 매개변수 ((element, index) ==> { })
- index를 전달한다. 생략된다면 자동으로 전달된다.
2. 함수의 매개변수
- 함수의 매개변수로 뭘 해야할지 항상 헷갈렸었는데
- 함수가 동작하는 동안 필요한 데이터(또는 변수)를 외부에서 받아와야 할 때 그걸 매개변수로 하면 된다.
3. splice(a, b, c)
- splice는 배열의 요소 중에 원하는 부분만 제거 후 추가(선택적으로)하는 메서드인데
- 매개변수로 다음 요소들을 갖는다.
a : 시작순서
b : 제거하고 싶은 갯수
c : 제거 후 추가할 요소
4. 프로젝트 중, 댓글을 삭제한 후에 삭제된 것이 바로 반영되어 댓글창에서 없어지길 바랬지만, 페이지를 새로고침 해야만 댓글창에 삭제된 게 반영되었다.
1) 삭제가 된 다음에
2) 댓글창에 보여지길 원했다.
삭제가 된 다음 = 삭제된 게 업데이트 된 후 = localstorage에 업데이트 된 내용이 저장된 후
- 따라서 localstorage.setItem이 다 된 후에 댓글창에 반영되었으면 해서 localstorage.setItem 앞에 await를 쓸 수 없을까? 생각했다.
- 하지만 await 뒤에는 promise를 반환하는 비동기함수 또는 async 함수 내부에서 반환하는 promise만 올 수 있었다.
- 그래서 localstorage.setItem을 promise를 반환하는 비동기함수로 만들기로 했다.
promise 만드는 방법
1. Promise.resolve( )
여기서 Promise.resolve( )의 매개변수는
(1) 직접적인 데이터 => Promise.resolve('hello')
(2) 다른 비동기함수가 반환한 "promise"
예를 들면
2. new Promise( )
.catch((data) => console.log(data)) // 프로미스 실패!
'TIL' 카테고리의 다른 글
2024.01.17 TIL #splice #slice #Array(num) #indexOf() #join() (0) | 2024.01.17 |
---|---|
2024.01.16 TIL #includes( ) #hasOwnProperty( ) #Object.keys( ) / Object.values( ) (0) | 2024.01.16 |
2024.01.12 TIL # Promise.then # async / await (1) | 2024.01.15 |
2024.01.10 TIL (0) | 2024.01.10 |
2024.01.09 TIL #type="module" #export #import #arr.join() #클로져 #data-id="id" (0) | 2024.01.09 |