타입스크립트는 자바스크립트와 호환성을 위해 그에 대응하는 타입을 제공한다.EE5의 자바스크립트는 var를 사용하여 변수를 선언한다.그러나 다른 프로그래밍 언어와는 다르게 동작하는 var때문에, ESNext 자바스크립트는 let과 const라는 키워드를 도입했다.(사실상
object타입은 인터페이스와 클래스의 상위 타입이다.object타입으로 선언된 변수는 number, boolean, string 타입을 가질 수는 없지만, 속성 이름이 다른 객체를 자유롭게 담을 수 있다.타입스크립트의 인터페이스 구문은 두 번째 코드에 에러를 뱉는다.
타입스크립트는 객체지향언어에서 흔히 볼 수 있는 class, private, publicm protected, implements, extend와 같은 키워드를 제공한다. 선언문의 기본 형태는 다음과 같다. private | protected | public
인터페이스나 클래스를 사용해 관련된 정보를 묶어 새로운 타입으로 표현하는 것을 구조화라고 한다.코드를 이처럼 구조화하면 비슷한 유형의 변수를 쉽게 만들 수 있으므로 코드의 기능 확장이 수월해진다. 구조화된 데이터는 어떤 시점에서 데이터의 일부만 사용해야 할 때도 있다.
타입이 있는 언어들은 다른 타입의 값으로 변환할 수 있는 기능을 제공한다. 이를 타입변환이라고 한다. object타입은 name속성을 가지지 않아 오류가 난다.이 오류를 타입 변환을 이용해 해결한다. person 변수를 일시적으로 name속성이 있는 타입으로 변환하여
자바스크립트에서 함수는 function키워드로 만드는 함수와 화살표 함수가 있다. 타입스크립트 함수 선언문은 자바스크립트 함수 선언문에서 매개변수와 함수 반환값에 타입 주석을 붙이는 형태로 구성된다.변수와 마찬가지로 함수 선언문에서도 매개변수와 반환값에 대한 타입 주석
자바스크립트는 함수형 언어 스킴과 프로토타입 기반 객체지향 언어 셀프를 모델로 만들어졌다.따라서 자바스크립트는 객체지향 언어와 함수형 언어의 특징이 모두 있다. 타입스크립트 또한 자바스크립트의 이런 특징을 모두 포함한다. 자바스크립트에서 함수는 function 클래스의
ESNext 자바스크립트와 타입스크립트는 화살표 함수를 제공한다.화살표 함수의 몸통은 중괄호를 사용할 수도 있고, 생략할 수도 있다.흥미롭게도, 중괄호 사용 여부에 따라 타입스크립트 문법이 동작하는 방식이 실행문과 표현식 문 방식으로 달라진다.오래전부터 프로그래밍 언어
선택적 매개변수(뒤에 ?연산자 붙인 매개변수)는 그 값이 undefined로 고정된다.만약 함수 호출 시 인수를 전달하지 않더라도 매개변수에 어떤 값을 설정하고 싶다면 매개변수의 기본값을 지정할 수 있다. 이를 디폴트 매개변수라고 하고, 다음과 같은 형태로 사용된다.
타입스크립트의 function 키워드로 만든 함수는 Function이라는 클래스의 인스턴스, 즉 함수는 객체라고 했다.깨체지향 언어에서 인스턴스에서는 this 키워드를 사용할 수 있다.function키워드
자바스크립트에서 배열은 Array 클래스의 인스턴스이다.앞에서 살펴본 스타일로 배열을 만드는 것은 번거롭다. 자바스크립트는 \[]단축 구문을 제공한다.자바스크립트에서 배열은 다른 언어와 다르게 객체이다.배열은 Array 클래스의 인스턴스인데, 클래스의 인스턴스는 객체이
배열은 선언형 프로그래밍을 구현할 때 절대적으로 필요한 문법 기능이다.선언형(Declearative) 프로그래밍은 곧잘 명령형(Imperative) 프로그래밍과 비교되지만, 이 둘은 대등하게 비교할 대상은 아니다.명령형은 저수준 구현 방식(CPU친화적)이고, 선언형은
함수형 프로그래밍에서 함수는 '순수함수'라는 조건을 만족해야 한다.그러나 타입스크립트의 Array 클래스에는 순수 함수 조건에 부합하지 않는 메서드가 많다. 따라서 배열의 메서드를 사용할 땨는 해당 메서드가 어떤 특성이 있는지 살펴야 한다.함수형 프로그래밍이란?함수형
자바스크립트에는 튜플이 없고, 단순히 배열의 한 종류로 취급된다.타입스크립트에서는 튜플의 타입 표기법을 배열과 다르게 선언할 수 있다.튜플을 사용할 때, 보통 타입 별칭으로 튜플의 의미를 명확하게 한다. 튜플은 물리적으로 배열이므로 배열처럼 연산자, 비구조화 할당문을