TypeScript
TypeScript 특징
- 자바스크립트의 확장된 언어, 자바스크립트에 타입을 입힌 언어
- 컴파일 필요: 브라우저에서 실행할 때 한 번 변환이 필요함
TypeScript의 장점
에러 사전 방지
- JavaScript에서 잡을 수 없는 데이터의 모습, 오타 등을 알 수 있음
- ex) JS Dock을 이용한 type 정의
/** User 객체 타입 정의
* @typedef {object} User
* @property {string} name
* @property {string} email
*/
/**
* @returns {Promise <User>}
*/
function ~
- 코드 가이드 및 자동 완성
function add(a : number, b : number): number{
return a + b;
}
var result = add(10, 20); //문자열이 들어가거나 다른 객체가 들어가면 에러가 나타남
result.toLocalString(); //result가 number 형식이기 때문에 자동 완성이 지원됨
- typescript를 javascript로 전환할 수 있음
TypeScript 타입
기본 타입
- 문자열/숫자
const str: string = 'hello'; const num: number = 10;
- Array
let arr: Array<number> = [1, 2, 3];
let item: number[] = [4, 5, 6]; // Array<number>과 같은 type 정의
- 튜플
let tp: [string ,number] = ['hi', 1] //배열의 각각 index에 타입 정의
- 객체
let obj: object = {};
let person: { name: string, age: number} = { name: 'jh', age: 30 };
함수
function sum(a : number /* parameter type 정의*/, b : number): number /* return type 정의*/{
return a + b;
}
let result = sum(10, 20);
//let reesult = sum(10, 20, 30); //파라미터에 제한이 걸려서 사용 할 수 없음
- 함수의 옵셔널 파라미터
사용을 하지 않아도 되는 파라미터 뒤에는 ?을 붙임
function log(a: string, b?: string){
};
log('hello');
log('hello', 'wolrd');
'IT > 개발' 카테고리의 다른 글
blot.new를 아시나요? (2) | 2024.11.29 |
---|---|
[git] 자주 쓰는 git 명령어 정리 (0) | 2022.03.18 |
[DB] SELECT ~ FOR UPDATE (0) | 2021.11.05 |
[Spring] SpringBoot + Kafka 사용 방법 (0) | 2021.10.29 |
[Spring] Spring Data JPA 사용 방법 (0) | 2021.10.29 |