위의 코드를 봤을 때 결과값은 어떻게 나올까?예상한대로 NaN이 나온다.이처럼 JavaScript는 아무런 힌트도, 에러도 주지 않는다.JavaScript는 동적 타입 언어로 실행되는 시점 즉, 런타임에 타입이 결정되고 오류가 있으면 그 때 발견된다.따라서 개발자가 실
객체의 구조를 정의하기 위해 사용하는 Interface키워드객체의 형태를 정의선언 병합(Declaration Merging) 가능implements 키워드로 클래스에서 구현 가능extends로 인터페이스 확장 가능
선언 병합이란 TypeScript의 중요한 기능 중 하나로, 같은 이름으로 선언된 여러 개의 분리된 선언들을 하나로 결합하는 것을 말한다.선언 병합은 라이브러리 개발이나 기존 타입 정의를 확장할 때 유용하게 사용되니다.하지만 일반적인 어플리케이션 캐발에서는 코드의 명확
TypeScript에서 클래스가 특정 Interface의 계약을 준수하도록 강제하는 키워드이러한 implements 키워드는 여러 Interface 구현이 가능하다.하지만 특정 Interface의 계약을 준수하도록 강제하는 키워드이기 때문에 아래와 같은 코드는 에러가
서로 다른 타입들을 결합하여 하나의 타입으로 정의타입 결합 방식Union(|): "또는" - 타입 중 하나만 만족하면 됨Intersection(&): "그리고" - 모든 타입의 속성을 만족해야 함사용 목적Union(|): 여러 타입 중 하나를 선택할 때Intersect
TypeScript의 타입 추론은 코드를 작성할 때 명시적으로 타입을 지정하지 않아도 자동으로 타입을 추론하는 기능변수 선언시 타입 추론객체 타입 추론함수 반환 타입 추론개발자가 TypeScript보다 타입 정보를 더 잘 알고 있는 상황에서, 컴파일러에게 "이 타입이
타입을 명확히 정하여 사용하기 위해 기본 타입들, type이나 interface를 위해 정의한 타입을 이용하였는데, 만약 코드를 호출하는 시점까지 타입을 모르는 경우는 어떨까?예를 들어, 배열을 만들 때 문자열 배열인지, 숫자 배열이지, 객체가 들어있는 배열인지 모르는