반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정보처리기사실기
- 오라클
- 정보처리기사실기요약
- 국비코딩
- 타입스크립트
- Oracle
- 자바스크립트 코딩테스트
- CSS
- 자스코테
- typescript
- php
- javascript
- VUE
- 국비IT
- Java의정석
- 정보처리기사실기정리
- 정보처리기사요약
- 자바스크립트
- 정보처리기사
- 자바의정석
- 스프링
- 이안의평일코딩
- spring
- 리액트
- ReactNative
- 정보처리기사정리
- 코딩테스트
- 리액트네이티브
- react
- 평일코딩
Archives
- Today
- Total
이안의 평일코딩
[TypeScript] 타입스크립트 기초 (1) - 타입 본문
반응형
타입스크립트란?
타입스크립트는 자바스크립트에 타입을 부여한 언어로, 자바스크립트의 확장된 언어이다.
타입스크립트는 왜 쓸까?
타입스크립트는 에러의 사전 방지 및 코드의 자동 완성이 가능해 개발의 생산성을 향상시켜주기 때문이다.
(미리 타입을 정해두면 실행 전에 오류가 뜨기 때문에 에러가 사전에 방지되고,
예를 들어, number라고 미리 타입을 정해두면 .만 찍어도 number와 관련된 코드의 자동완성(intellisense)이 가능해진다.)
기본 타입(문자열, 숫자, 배열, 튜플, 객체, 진위값)
// 문자열
let str: string = 'hello';
// 숫자
let num: number = 10;
// 배열
let arr: Array<number> = [1,2,3];
let items: number[] = [1,2,3];
let fruits: Array<string> = ['Apple', 'Banana', 'Orange']
튜플이란?
배열의 특정 index(순서)의 타입까지 정의한 것
// 튜플
let person: [string, number] = ['ian', 28];
// 객체
let obj: object = {};
let person: object = {
name: 'ian',
age: 28
};
// 객체 구체적 정의
let person: { name: string, age: number } = {
name: 'ian', age: 28
}
// 진위값
let show: boolean = true;
함수 타입(파라미터, 반환값, 파라미터의 제한 특성, 옵셔널 파라미터)
// 함수의 파라미터에 타입을 정의하는 방식
function sum(a: number, b: number) {
return a+b;
}
sum(10, 20);
// 함수의 반환 값에 타입을 정의하는 방식
function num(): number {
return 10;
}
// 함수에 타입을 정의하는 방식 (가장 기본적인 방식)
function sum(a: number, b: number): number {
return a+b;
}
JavaScript vs TypeScript 파라미터 제한의 차이
// JS
function sum(a, b) {
return a+b;
}
sum(10, 20, 30, 40); // 뒤의 숫자는 무시하고 10+20=30 의 결과만 가져온다
// TS
function sum(a: number, b: number) {
return a+b;
}
sum(10, 20, 30, 40); // 숫자 2개의 인자만 와야함으로 오류 발생
? 옵셔널 파라미터
function log(a: string, b?:string) {
}
log('hello world');
log('hello ts', 'abc');
옵셔널 파라미터는 타입스크립트가 제공하는 예약어로 특정 파라미터(인자)를 선택적으로
인자를 더 많이 쓰고 싶거나 생략하고 싶을때 파라미터 뒤에 ' ? '를 붙인다.
반응형
'Front-end > TypeScript' 카테고리의 다른 글
[TypeScript] 타입 추론, 단언, 가드, 호환, 모듈화 (0) | 2021.01.22 |
---|---|
[TypeScript] 타입스크립트 기초 (5) - 제네릭 (0) | 2021.01.21 |
[TypeScript] 타입스크립트 기초 (4) - 이넘, 클래스 (2) | 2021.01.20 |
[TypeScript] 타입스크립트 기초 (3) - 유니온 타입과 인터섹션 타입 (0) | 2021.01.20 |
[TypeScript] 타입스크립트 기초 (2) - 인터페이스와 타입 별칭 (0) | 2021.01.19 |
Comments