Develope Me!

[TypeScript] TypeScript 정의 및 특징 본문

JavaScript/TypeScript

[TypeScript] TypeScript 정의 및 특징

코잘알지망생 2023. 12. 11. 16:03

 

TypeScript란?

자바스크립트에 타입을 부여한 언어이다. 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 컴파일 해줘야 한다. 런타임 시 타입이 결정되어 오류를 발견하는 자바스크립트(동적언어)와는 달리 타입스크립트(정적언어)는 컴파일 타임에 타입이 결정되어 오류를 발견할 수 있다. 

 

TypeScript 특징?

1. 컴파일 언어, 정적 타입 언어

코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있고 미리 타입을 결정하기 때문에 실행 속도가 매우 빠르다는 장점이 있다. 하지만 코드 작성 시 매번 타입을 결정해야 하기 때문에 번거롭고 코드량이 증가하며 컴파일 시간이 오래 걸린다는 단점도 있다.

 

2. 자바스크립트 슈퍼셋(Superset)

타입스크립트는 자바스크립트의 슈퍼셋, 즉 자바스크립트 기본 문법에 타입스크립트의 문법을 추가한 언어다. 따라서 유효한 자바스크립트로 작성한 코드는 확장자를 .js에서 .ts로 변경하고 타입스크립트로 컴파일해 변환할 수 있다.

 

3. 객체 지향 프로그래밍 지원

타입스크립트는 ES6(ECMAScript 6)에서 새롭게 사용된 문법을 포함하고 있으며 클래스, 인터페이스, 상속, 모듈 등과 같은 객체 지향 프로그래밍 패턴을 제공한다. 

 

TypeScript를 사용하는 이유?

 

1. 에러 사전 방지 가능

해당 예시를 참고해보자면 자바스크립트에 경우에는 1과 3을 문자열로 인식하여 원하는 결과인 4가 아닌 13을 리턴해준다.

// Javascript
function add(num1, num2){
    console.log(num1 + num2);
}

add('1','3'); // 13

 

그에 반해 타입스크립트는 변수에 타입을 지정해주어 맞지 않는 형식에 매개변수가 들어올 경우 오류를 확인할 수 있다.

// TypeScript
function add(num1 : number, num2 : number){
    console.log(num1 + num2);
}
add('1','3'); // Argument of type 'string' is not assignable to parameter of type 'number'.
add(1,3); // 3

 

이처럼 TypeScript에서는 정적 타입을 체크하며 코드의 안정성을 향상 시키며 타입 정보를 명시하여 코드를 이해하기 쉬워진다.

 

2. 높은 생산성

Javascript로 코드를 작성할 때, 객체의 필드나 함수의 매개변수로 들어오는 값이 무엇인지 알기 위해 여러 파일을 살펴야 했지만 TypeScript를 사용한다면 변수의 이름뿐만 아니라 그 테이터의 자료형까지 알 수 있다. 그래서 코드 작성을 쉽고 직관적으로 할 수 있다. 즉, 개발자는 로직과 같은 큰 구조에 집중할 수 있으며  객체 안의 필드값을 다 기억할 필요 없이 IDE가 자동으로 리스트 업을 해주기 때문에 생산성에도 큰 기여를 한다. 

 

 

 

참고 사이트 : https://www.elancer.co.kr/blog/view?seq=183

 

TypeScript 사용하는 이유, 현직 웹 개발가 알려드립니다! I 이랜서

안정적인 개발과 높은 수준의 코드 품질을 유지하는데 좋은 프로그램 언어 'Typescript'의 특징과 사용하는 이유에 대해 이랜서에서 알려드립니다. I react typescript, typescript playground, typescript enum, type

www.elancer.co.kr

 

https://www.samsungsds.com/kr/insights/typescript.html

 

활용도가 높아지는 웹 프론트엔드 언어, 타입스크립트[TypeScript] | 인사이트리포트 | 삼성SDS

2012년 마이크로소프트가 발표한 타입스크립트(TypeScript)는 자바스크립트(JavaScript)를 기반으로 정적 타입 문법을 추가한 프로그래밍 언어입니다. 요즘은 대형 SI 프로젝트에서 흔하게 사용되고 있

www.samsungsds.com

 

 

'JavaScript > TypeScript' 카테고리의 다른 글

[TypeScript] TypeScript의 기본 타입  (0) 2023.12.12
Comments