본문 바로가기

Typescript

(3)
proxy 사용 원래 코드 type TProps = { name: "countMap" | string; defaultValue: Record;};export function bindReactiveState({ name, defaultValue = {} }: TProps) { if (typeof defaultValue !== "object") { throw new Error("bindReactiveState supports only object as default value."); } let value = defaultValue; const getter = (): Record => { return value; }; // 변화된걸를 찾기 위해서는 옛날 값과 새로운 값을 비교해야됨 //2. 만일 키..
타입스크립트로 간단한 상태관리 구현과 타입 추론 문제 해결하기 순수 타입스크립트로 useState와 좀 비슷하게 만들어보고싶었다. 나는 일단 작은 프로젝트를 만들었고  그 프로젝트에서 상품의 값을 올리는 count폴더를 만들었다. 여기서는 값이 바뀌면 자동으로 렌더링을 해주지 않으므로 내가 직접  기존 값고 변화된 값을 감지해서 값을 집어넣어줫는데  여기서 타입에 대한 문제가 생겼다.   return [getter, setter] // 이렇게 return 읋 해주다보니 // 사용하는 곳에서 //const getCountMap: (newValue: Record) => void // 타입 추론을 제대로 해주지 못하고있다  알고 보니 배열의 타입스크립트 처리방식이 이슈였다. ( 타입스크립트 공부를 할때는 두개의 개념에 대해서는 알고 있었지만 직접 구..
타입스크립트가 필요한 이유 자바스크립트 이후 타입스크립트가 나왔다! 자유로운 언어에서 이제는 타입을 지정해주는 언어가 나왔다. 언어가 나왔다는건 필요하기때문에 나왔을 것이다. 그러므로 타입스크립트가 등장을 하게 된 이유 , 타입스크립트를 많은 사람들이 사용을 할려는 이유에 대해 공부해보고자 한다. 자바스크립트는 동적언어이다. 타입스크립트는 정적언어이다 . 정적언어는 코드가 실행되기 전에 컴파일러에 의해 타입검사 및 에러 검사 등이 이루어지고 컴파일 단계에서 메모리에 할당된다. 반면 동적언어는 코드가 실행되는동안 변수의 타입이 결정되어 런타임에서 메모리에 할당된다. 정적언어는 코드 작성 시점에서 코드의 타입과 에러를 검사하므로 런타임에서 발생할 수 있는 타입 에러나 버그를 줄일 수 있습니다. 반면에 코드 작성시 타입을 지정해줘야되므..