[221027] 오늘의 배움(TIL) - JavaScript / Jest / 환경 설정

💛 nalsae·2022년 10월 27일
1

📚 오늘의 배움(TIL)

목록 보기
70/84
post-thumbnail

🔸 JavaScript

  • 커링은 무엇이고 왜 사용하는가?

: 클로저를 이용하여 여러 개의 매개변수를 하나의 호출문에 전달하지 않고, 여러 호출문을 체이닝하여 매개변수를 각각 하나씩 전달하는 기법
ex) f(a, b, c) => f(a)(b)(c)
: 커링을 사용하면 관심사의 분리 관점에서 이로움, 구체적으로 관심사가 서로 다른 다양한 매개변수의 조합을 분할하여 전달할 수 있다는 점에서 코드 작성 시 효율을 높일 수 있음
: 커링을 구현하려면 함수가 함수 자체를 반환하는 구조로 작성하는데, 이 때 화살표 함수를 사용하면 좀 더 간단하게 작성할 수 있음
ex) (a) => (b) => { }

  • 태그드 템플릿(Tagged Template)은 무엇이고 왜 사용하는가?

: 템플릿 리터럴을 함수 호출문처럼 사용할 수 있는 문법을 의미함
: 태그드 템플릿을 작성하여 호출하면 첫 번째 매개변수로는 템플릿 리터럴 안에 작성한 정적 데이터(문자열)을 배열로 전달하고, 두 번째 매개변수로는 템플릿 리터럴 안에 작성한 동적 데이터(${ } 안의 값)를 배열로 전달함
: 이처럼 문자열 데이터를 분리하여 매개변수에 전달할 수 있다는 차원에서 라이브러리를 사용할 때 Styled Component 등을 생성하는 경우 주로 사용함


🔸 Jest

  • toEqual 메서드와 toStrictEqual 메서드의 차이점은 무엇인가?

: toEqualtoStrictEqual은 객체를 비교할 수 있는 메서드라는 점에서 동일, 그러나 toStrictEqual은 프로퍼티 값이 undefined인 경우 테스트 결과를 실패로 반환함
: 즉 말 그대로 toStrictEqual이 좀 더 엄격한 비교를 수행함


🔸 Config

  • Window 환경에서 스크립트 명령어로 환경 변수를 전달할 때 참조할 수 없는 오류가 발생한다면, 어떻게 해결할 수 있는가?

: cross-env 패키지를 설치하면 문제를 해결할 수 있음, 작성할 명령어 앞에 cross-env 삽입하면 됨

profile
𝙸'𝚖 𝚊 𝚍𝚎𝚟𝚎𝚕𝚘𝚙𝚎𝚛 𝚝𝚛𝚢𝚒𝚗𝚐 𝚝𝚘 𝚜𝚝𝚞𝚍𝚢 𝚊𝚕𝚠𝚊𝚢𝚜. 🤔

0개의 댓글