타입스크립트의 장점은 바로 안정성이다!!
닉값 제대로 하는 타입스크립트 공부해보쟈. .
타입스크립트
2012년 마이크로소프트에서 개발했으며, 자바스크립트의 상위 집합으로 설계된 프로그래밍 언어다.
즉, 자바스크립트에 정적 타입을 추가한 프로그래밍 언어다.
💡정적타입
프로그래밍에서 변수나 표현식의 데이터 타입이 컴파일 시간에 결정 되고 확인되는 시스템을 말한다.
- 컴파일 시간 타입 검사
- 코드가 실행되기 전에 타입 오류를 감지함
- 빌드 과정에서 타입 불일치 문제를 발견
- 명시적 타입 선언
- 변수, 매개변수, 반환 값 등에 타입을 명시적으로 선언
- 타입 안정성
- 타입이 맞지 않는 연산이나 할당을 미리 방지
- 런타임 타입 오류 가능성 감소
- 개발 도구 지원
- IDE의 코드 자동 완성, 리팩토링 지원이 뛰어남
- 문서화 효과가 있어 코드 가독성 향상
- 타입 변환의 명시적 처리
- 다른 타입으로 변환할 때 명시적인 캐스팅 필요
- 의도하지 않은 타입 변환 방지
- 대표적인 정적 타입 언어 : Java, C, C++, C#, TypeScript, Kotlin, Swift, Rust
동적 타입
- 런타임 타입 확인
- 코드 실행 시점에 타입 검사가 이루어짐
- 실행 전에는 타입 오류를 발견하기 어려움
- 타입 유연성
- 변수에 다양한 타입의 값 할당 가능
- 간결한 코드
- 타입 선언이 필요 없어 코드가 간결함
- 빠른 프로토타이핑에 유리
- 덕 타이핑(Duck Typing)
- 객체의 실제 타입보다 메소드와 속성의 존재 여부가 중요
- "오리처럼 걷고 오리처럼 꽥꽥거리면 오리로 간주"하는 방식
- 런타임 유연성
- 메타프로그래밍, 리플렉션 등의 기능이 풍부
- 런타임에 코드 구조 변경 용이
- 대표적인 동적 타입 언어 : JavaScript, Python, Ruby, PHP, Perl, Lua
타입스크립트의 특징
1. 자바스크립트의 확장
: 타입스크립트는 자바스크립트에 타입 문법을 추가하여 코드 편집기(editor)와의 통합을 강화한다.
개발 과정 초기에 타입 관련 오류를 발견하고 수정할 수 있다.
2. 호환성
: 타입스크립트 코드는 자바스크립트가가 실행되는 모든 환경(브라우저, Node.js, Deno, 모바일 앱 등)에서 사용될 수 있도록 일반 자바스크립트 로 변환된다. 이 변환 과정은 타입스크립트 컴파일러(tsc)를 통해 이루어지며, 타입 정보는 컴파일 과정에서 제거되어 순수한 자바스크립트 코드만 남게 된다.
3. 타입 추론 시스템
: 타입스크립트 는 자바스크립트 를 완벽히 이해하고 타입 추론(type inference) 기능을 통해 많은 경우 명시적인 타입 선언 없이도 뛰어난 도구 지원을 제공한다. 개발자가 모든 변수에 타입을 지정하지 않아도 되게 하여 코드의 간결성을 유지하면서 타입 안정성을 확보할 수 있게 해준다.
4. 점진적 도입 가능
: 타입스크립트 는 점진적 타입 시스템을 채택하고 있어, 기존 자바스크립트 코드에 점진적으로 도입할 수 있다.
대규모 프로젝트를 한 번에 전환하지 않고도 타입스크립트 의 이점을 누릴 수 있게 해준다.
5. 풍부한 타입 시스템
: 타입스크립트는 인터페이스, 제네릭, 유니온 타입, 교차 타입 등 다양한 고급 타입 기능을 제공한다.
복잡한 데이터 구조와 함수의 계약을 명확하게 표현할 수 있게 해준다.