백엔드없이 사이드 프로젝트 구현 2탄 은 로그인,회원가입 기능 구현하기입니다! 만약 처음 이 게시글을 보시는분이시라면 1탄을 보고 오시면 더욱더 이해가 편합니다! https://taejinii.tistory.com/5 1탄링크입니다. 백엔드없이 사이드 프로젝트 + 배포 with Vercel,json-server,glitch 백엔드 없이 프론트엔드 혼자 사이드 프로젝트 배포까지! 많은 프론트엔드 개발자 분들이 지금까지 배운 내용들을 복습하는 개념으로 처음부터 끝까지 혼자 해보고 싶으신분들이 계실겁니다! taejinii.tistory.com 본론으로 넘어와서... 저는 로그인 기능구현을위해 json-server-auth 라는 라이브러리를 추가로 사용하였습니다. https://www.npmjs.com/pack..
옵셔널 tmp 라는 함수의 파라미터앞에 ? 가 있는데 이것이 옵셔널이다 이것은 파라미터가 있어도 되고 없어도 된다는뜻 tmp(1,2,3,4) 를 하면 오류가나는데 만약 파라미터로 몇개를 전달할지 모른다는 상황이라면 어떻게 해야될까? rest 문법을 사용하여 파라미터들을 받아주면 된다. 오류가 깔끔히 사라졌다 제네릭 제네릭(generic)이란 타입을 명시하여 하나의 타입만을 사용하는것이 아닌 다양한 타입을 사용할수있도록 하여 재사용성을 높여주는 기법이다. 설명만 보면 any와 다를거 없어보이지만 아주 확실한차이가 있다. 모든타입을 허용하는 any로 타입을 명시해주고 함수를 만들어보았다. anyFunction 으로부터 반환되어지는 anyNumber,anyString 두개의 변수에 각각 할당해주었다 이 두개의..
Typescript 에서 제공하는 implements 란 class 가 interface 를 충족 하는지에 대해서 검사하는 키워드 입니다. Pingable 이라는 interface 가 정의되어있고 Sonar,Ball 각각 두개의 클래스에 implements 되어있습니다. Sonar 클래스 에서는 ping() 를 제대로 넣어주었기에 에러가 나지않지만 Ball 클래스 는 pong() 라고 넣어주어 에러가 발생합니다. class 는 interface 를 implement 하기위해서 interface에 정의된 타입을 충족해야한다고 했습니다 . 즉 class 의 모양을 interface 로 통제 할 수 있습니다. private 는 자신의 클래스 안에서 사용이 가능하며 상속클래스에서는 사용이 불가능합니다. pro..
객체안의 값이 다 string 타입이라고 할때 만약 요소가 3개가아닌 100개라면? 하나하나 다 직접 적어주는건 상당히 고통스러울것이다. 이럴떄 사용하면 좋은게 Mapped Types 이다 . key 와 value 값 모두 타입으로 제한을 해두었다. 여기서 만약 객체요소를 무언가 하나 더 추가해야한다고하면 type B 에만 새로 정의해주면 그 요소도 자동적으로 string 값으로 타입이 정의가 될 것이다. 반복적인 작업을 상당히 줄여주어서 상당히 편리하게 사용 할 수 있을것같다. 타입스크립트 공식문서 Mapped Types - https://www.typescriptlang.org/docs/handbook/2/mapped-types.html