Javascript에 type 이라는 개념을 추가한 것코드를 실행하기 전 타입스크립트는 에러를 잡거나 고치는데 시간을 절약해 준다.타입스크립트도 하나의 프로그래밍 언어이다.자바스크립트의 기능을 강화시키고 타입이라는 기능을 추가한 언어이다.컴파일 과정을 통해서 실제 실행
Annotate는 "주석을 달다" 라는 사전적인 뜻을 가지고 있다.타입스크립트에서는 변수, 함수, 함수 반환값의 데이터 타입을 지정하기 위해 "타입 어노테이션"을 사용한다. 즉, 타입에 주석을 단다.한 번 식별자를 특정 타입으로 annotated 하면 해당 타입만 사용
TypeScriptStatic Types (set during development)개발하는 중간에 타입을 체크한다.JavaScriptDynamic Types (resolved at runtime)개발할때는 알 수 없고 런타임에서만 에러를 알 수 있다.프로그램이 유용하
원시형 자료로 객체와 배열이 아니며 메모리에 실제 값을 저장한다.booleannumberstringnullundefinedsymbolPrimitive Type은 내장 함수를 사용할 수 있다타입스크립트에서 원시형 데이터를 나타날때 모두 소문자로 작성한다.대문자로 작성하게
원시형 데이터에는 number, string, boolean, symbol, bigint, null, undefined 가 있다.//number에는 정수, 음수, 소수, NaN 등 숫자 타입이 들어갈 수 있다.//true 나 false 만 할당 가능하다.let pers
값의 타입이 무엇인지 모를때, 즉 아무런 타입이 와도 상관없음📍 그럼 왜 있을까?타입스크립트는 타입이 없는 자바스크립트와 연동이 되기 때문이다. 만약 자바스크립트 라이브러리를 사용할때 그 리턴값을 모를 수 있다. 그때 사용되지만 최대한 그 값을 알아서 타입을 지정하는
자바스크립트에서 object는 하지만 타입스크립트에서 위의 코드는 객체가 아니다.타입스크립트에서 위의 코드를이라고 인식한다.위의 코드가 너무 길거나 추후에 작성해야 할 속성들이 많아진다면 따로 타입을 빼놓는다. 타입을 정의할때는 다른 변수들과 차별화를 두기 위해 대문자
함수에서는 어떻게 tpye을 지정할까?
함수의 매개변수의 갯수보다 적게 인자를 작성할 수 있다.위의 코드에서 성과 이름을 받아오는 매개변수이지만 인자를 한 개만 넣었을 때 에러가 발생한다. 정해진 인자 갯수대로 인자를 전달해야 하는데 그렇지 않아 에러를 발생시킨 것이다. 또한 string 타입이 아닌 다른
배열 타입을 지정하는 방법에는 2가지가 있다.이 두 코드에서 어떤 것이 더 좋고 나쁘다는 없다.하지만 함수에 readonly를 작성하면 1번 방법만 허용된다.readonly는 읽기 전용이며 받아오는 데이터를 출력할 수는 있지만 업데이트 하거나 변경할 수 없다. 즉, 전
🏕 Type Alias 새로운 타입을 사용자가 정의할 수 있다. alias 타입을 지정할 때는 type이라는 키워드를 앞에 작성하고 Type의 이름은 대문자로 시작한다. 원시형 타입뿐만 아니라 참조형이 객체도 가능하다.
지정한 문자열 그대로만 타입으로 할당할 수 있다.예를 들어,굳이 이걸 왜 쓰는거지....?아래의 Union type과 관련이 있다.타입스크립트에서 굉장히 많이 쓰이는 타입 중 하나이다.OR로 이해하면 된다.발생할 수 있는 모든 케이스 중에서 하나만 정하고 싶을 때 주로
union은 발생할 수 있는 모든 케이스에서 한가지만 선택할 수 있는거라면intersection은 모든 것을 합친 개념이다.intersection을 사용하면 다양한 타입을 하나로 묶어서 사용하 수 있다.union이 | 이라면 intersection은 & 같은 개념이다.
Enum
타입을 명확하게 명시해야 하는 경우도 있지만 타입을 알아서 자동으로 타입이 결정되는 경우가 있다.원시 타입 경우는 너무너무 뻔하니깐 타입 지정을 생략해도 타입스크립트가 암묵적으로 타입을 지정한다.타입스크립트에서 자동으로 타입을 유추한다.함수도 타입 추론을 하지만....
결론적으로 Type Assertion은 좋은 방법의 타입 지정은 아니다.강제적으로 타입을 지정하는 것이기 때문이다.함수를 작성할 때 return 해주는 데이터 타입이 무조건!!! 100퍼센트 무슨 일이 일어나도 string이다 라고 확신할 때! 만 사용하도록원래라면 l