자바스크립트는 타입에 대한 제지 없이 자기가 알아서 타입을 바꿔준다.타입스크립트는 이런걸 전부 에러로 잡아주는데, 이거 하나 때문에 쓰는 언어가 바로 타입스크립트이다. (type관련 버그들을 발생시키지 않기 위함)에러메시지도 더 정확해진다. 엄격한 타입룰 덕분에 타입관
변수명 :타입명지정한 타입과 다른 형식의 값을 변수에 할당하면 에러를 내준다.변수명 :타입\[]배열은 배열인데 각 요소의 타입과 길이가 정해져있는 배열.변수명 :\[타입, 타입] 과 같은 형태로 할당한다.각 요소의 타입과 다른 타입을 할당하거나 지정된 길이가 아닐 경우
function 함수(x :파라미터 타입) :리턴값 타입 {}타입지정된 파라미터는 필수 파라미터가 된다. (안넘겨주면 에러발생)파라미터가 옵션일 경우 function 함수(x? :number) 로 지정하면 된다. \- function 함수(x :number | und
⭐️ 타입이 너무 길고 복잡하면 변수에 넣어서 쓸 수 있다. (타입 별칭을 사용하여 사용자 정의 타입 만들기)type 타입명 = 타입타입변수에는 온갖걸 다 넣을 수 있다.타입명은 대문자로 시작하는 것이 작명관습이다. (일반 변수와 차별화 두기 위함)타입변수는 재정의가
모든 자식 object들에게 속성을 부여해주고 싶으면 필드에 변수처럼 만든다. (var, let 키워드 안씀)js와는 다르게 constructor함수를 쓰려면 미리 필드값으로 정의해줘야한다.함수 문법 중에 있는 기본파라미터파리미터에 값을 입력하지 않으면 자동으로 할당해
interface키워드로도 타입변수를 생성할 수 있다.interface 인터페이스명 { key :type }type alias와 용도와 기능이 같다.type Square = { color :string, width :number } = interface Square {
1. Narrowing > 타입스크립트에서 애매한 타입을 다룰 때 타입을 하나로 정해주는 것을 뜻한다. (일종의 코딩 방식 중 하나) typescript는 타입을 엄격히 다루기 때문에, 아래와 같은 함수는 에러를 발생시킨다. 이유는 x라는 파라미터는 union타입이기
아래와 같이 파라미터를 가변적으로 받고싶은 함수가 있을 경우, 파라미터를 unknown타입으로 받고 있기 때문에 return값인 파라미터0도 unknown타입이 되어 연산 시 에러가 발생한다. 해결법은 narrowing ! 하지만, narrowing이 불편하고 귀찮다면
keyof Object object타입이 가지고 있는 모든 key값을 union type으로 합쳐서 내보내준다.object내의 속성들을 다른 타입으로 한번에 변환하고 싶을 때 유용한 방법👇🏻 전부 string 타입으로 변경하려면\[작명 in keyof 타입파라미터]
일반 js파일 등에 있던 변수를 사용 시 에러나지 않도록 재정의할 때 사용declare let 변수 :타입;declare가 붙은 코드들은 js로 변환되지 않는다. 👉🏻 컴파일러에게 힌트를 주는 역할의 코드이기 때문📌 tsconfig.json에서 allowJS: t