코드캠프 부트캠프 26일차

개발일기·2022년 2월 18일
0

GenericType

TypeScript를 사용하다보면 우리가 알지 못하는 타입을 표현할 때 종종 any를 사용했다. 이 경우 타입 검사를 하지 않게 되는데 타입의 일부만 알고 전체에 대한 타입을 알지 못할때 유용하다.
unknown의 경우에는 any와 비슷하게 사용하지만 좀 더 개발자에게 도움을 줄 수 있다. 에를들어 받게되는 인자를 unknown으로 지정해주고 해당 타입을 (typeof === "number")식으로 지정하게 된다면 개발자에게 예상치 못한 오류를 줄여줄 수 있다.

any와 unknown을 사용하지 않고 우리가 직접 타입을 만들어줄수도 있다. <>를 사용하여 매개변수()앞에 타입 변수를 추가하면 된다.
generic 또한 any와 비슷하다. 하지만 any는 함수 반환 시 어떤 타입인지에 대한 정보를 잃게 되어 string 혹은 number를 넣어도 return 타입이 any로 반환되지만, generic의 경우에는 입력 값에 따라 내부 타입이 정의가 된다. 즉, 단일 타입이 아닌 다양한 타입에서 작동하게 작성할 수 있는 장점이 있다.

브라우저 저장소

변수에 데이터를 넣어두면, 새로고침 시 저장된 데이터가 날아가는 현상이 있다. 이는 HTML, CSS, JS를 다시 화면에 새로 그려주기 때문이다. 따라서, 새로고침을 해도 기존의 데이터가 그대로 남아있어야 하는 상황이라면 쿠키(cookie), 로컬스토리지(localstorage), 세션스토리지(sessionstorage)가 있다.

쿠키(cooki)의 경우에는 document.cookie
로컬스토리지와 세션스토리지의 경우에는 .setItem() .getItem()을 사용한다.

쿠키의 경우에는 저장된 데이터가 Backend-API요청치 자동으로 함께 보내지게되어 백엔드와 브라우저 간 데이터를 공유할 때 유용하지만 너무 많은 데이터가 담겨져 있으면 효율성이 떨어지게 되므로, 만료시간을 지정해주어 특정 시간이 지나면 사라지게끔 설정해 줄 수 있다. 또한, httpOnly / secure를 사용하여 보안 옵션을 걸어줄 수 있다.

profile
개발자가 꿈이에오

0개의 댓글