forEach를 통해 배열의 각 요소에 함수 적용하기 그리고 화살표함수로 간단하게

JSON.parse() 를 통해 문자열을 진짜 배열로(배열같은 객체) 바꿔주었다.

그럼 이제 이 배열(todo리스트 하나하나)을 각각 다루고싶은데
그 방법은 무엇?

forEach()

인자로 주어진 함수를 배열의 요소 각각에 수행하는 것.

map() 과 달리 수정된 배열을 리턴하지 않는다.

function sayHello(item) {
  console.log("This is the turn of", item);
}

// greetings에서 만든 savedUsername과 비슷
const savedToDos = localStorage.getItem(TODOS_KEY);
if (savedToDos !== null) {
  const parsedToDos = JSON.parse(savedToDos);
  console.log(parsedToDos);
  // null을 쓴 이유 : localStorage에 아무값도 없을 조건

  parsedToDos.forEach(sayHello);
}
// (3) ['a', 'b', 'c']
// Hello 가 3번 출력
// forEach 가 각각의 item에 대해 sayHello를 실행시킨다.
// 인자 item의 자리에 각각 a, b, c 가 대입돼서 실행되는 것.

더 간단하게 줄이고싶다? 화살표함수를 사용하면 된다.

const savedToDos = localStorage.getItem(TODOS_KEY);
if (savedToDos !== null) {
  const parsedToDos = JSON.parse(savedToDos);
  console.log(parsedToDos);

  
parsedToDos.forEach((item)=>console.log("This is the turn of", item))  
}
// 화살표함수를 쓰면 함수 선언 안해줘도 되고, 더욱 간단해진다.

좋은 웹페이지 즐겨찾기