boostcamp Day08 학습정리

ttobe·2023년 7월 19일
0

boostcamp

목록 보기
6/15
post-thumbnail

- 오늘 공부

1) 고차함수

  1. map()
array.map(callbackFunction(currenValue, index, array), thisArg)
const numberMapArr = numberArr.map((item) => {
  return (item % 2 === 0) ? 'even' : 'odd'; // 연산한 결과값을 넣어 배열 반환
});

각 요소를 다른 값으로 맵핑한 새로운 배열을 반환한다.

  1. filter()
const numberFilterArr = numberArr.filter((item) => {
    return item % 2 === 0; // 해당조건에 부합으면 item을 넣어 배열 반환
});

주어진 배열을 순회하면서 함수의 반환값이 true에 해당하는 요소로만 구성된 새로운 배열을 생성하여 반환한다.

  1. reduce()
const result = numbers.reduce((number1, number2) => number1 + number2); 

첫번째 인자(accumulator)서부터 시작해서 배열값인 두번째 인자(currentvalue) 을 순회하며 accumulator+=currentvalue 을 실행.


함수를 잘 활용하면 될거 같은데 아직은 어색해서 잘 활용하지 못했다. 여러번 사용하면서 익숙해지면 더 편하게 짤 수 있을 것 같다. 앞으로 많이 활용해보도록 노력해야겠다.


2) jest

npm init -y
npm install @babel/core @babel/preset-env @babel/plugin-transform-modules-commonjs @babel/plugin-transform-runtime
npm run test

이런 형식으로 test.js파일을 실행시킨다.

jest import 오류를 통해서 다른 .js파일을 import활용할 수 있었다.


// 기본 형식
test("테스트 설명", () => {
  expect("검증 대상").toXxx("기대 결과");
});
// toThrow 예시
test("throw when id is non negative", () => {
	expect(() => getUser(-1)).toThrow("Invalid ID");
});

함수에서 오류의 경우에서 return throw Error("Error message") Error를 throw해주면 Error를 검증할 수 있다.


오늘 과제는 예외처리가 많았고, 생각보다 시간이 오래걸렸다.
예외 처리를 하다보면 내가 뭘 처리하고 있었는지 길을 잃어버릴때가 많았다.
그리고 예외처리를 하면 할수록 코드가 길어지고 더러워지는데 나중에 코드 정리를 새롭게 해야겠다고 생각이 들었다.

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

소중한 정보 잘 봤습니다!

답글 달기