1. 문제 상황일일 통계자료를 입력하는 화면을 만들고 있었다. 일일 통계자료에 Input이 몇 개 있었는데, 기본 값을 0으로 설정했더니 저장 버튼을 눌러도 Input Value가 없다는 결과가 떴다.(물론 내가 Empty를 방지해서 그렇다.) 그래서 원인을 분석해봤다. 2. 원인Truly, Falsy에 대해 어렴풋이 알고 있었기 때문이었다. Javascript의 큰 특징 중에는 Type Inference(타입 추론)가 있다. Runtime 시점에 필요한 타입을 정한다. 그렇기 때문에 어떤 타입이던 올 수 있다. 그렇다면? 특정 변수가 선언이 되어 있는지, 특정 타입의 유효한 값인지 확인하려면 정말 많은 조건처리를 해줘야 할 것이다. isNaN이나, undefined, null 등 비유효한 값이 들어올 ..
단위 테스트 기법에 대해 공부를 하던 중 React 에서 사용할 수 있는 testing framework JEST에 대해 알게되어 사용해보고 정리한 글입니다. 오류가 있을 수 있으니 알려주시면 감사하겠습니다. JEST란? 편리함에 포커스를 맞춘 Javascript Testing Framework Babel, Typescript, React, Angular, Vew 등 Javascript 기반 라이브러리에서도 사용이 가능하다. 페이스북에서 만들었고, 오픈소스 라이브러리이다!! [github]!https://github.com/facebook/jest 특징 zero config - 대부분의 Javascript Project에서 configuration 없이 작동하는 것을 목표로 한다. Typescript나 ..
1. Preview - 사실 처음부터 타입스크립트가 어떻게 자바스크립트 코드로 변환되는 지 관심 있었던 것은 아니다. 시작은 React에서 제공하는 컴포넌트의 다양한 타입에 대한 정확한 사용법을 알고 싶었다. 타입을 확인하는데 다음과 같은 코드를 발견하고 경악했다. 다음은 리액트 소스 코드의 일부분이다. type ReactFragment = Iterable; type ReactNode = ReactElement | string | number | ReactFragment | ReactPortal | boolean | null | undefined; ??? ReactFragment Type은 Generic으로 ReactNode 타입을 사용하고, 그 ReactNode 타입 안에는 ReactFragment타입..