TypeScript

TypeScript

wlals5855 2024. 9. 2. 00:08

⭐타입 명시 방법

: 타입 어노테이션 (type anntation)

 

⭐타입스크립트 타입 종류

✔️기본타입(원시 타입 - string, number, boolean 등 )

  • 변수명 뒤에 콜론 사용
  • typeOf 연산자 사용시 나타내는 변환값과
 let name: string = '이정미';
   let age: number = 29;
  let isStudent: boolean = true;
   
   
   let anyData = '문자열' ;
  • let anyData = '문자열' ; 처럼 타입 명시 생략 가능하지만 타입 체킹을 생략 할 수 없다.
  • anyData = 123; 타입 명시를 안해도 초기 할당하는 데이터로 타입이 지정된다.
    그래서 문자열로 타입으로 지정되 숫자를 넣으면 에러가 발생한다.

배열(list, array) 타입

  • 순서가 있는 요소의 모음을 나타내는 자료 구조
//  - 변수명 뒤에 콜론 사용
// : 기본타입명 뒤에 배열을 나타내는 []를 첨부
let list1:string[] = ['1', '2', '3'];


// - 제너릭 타입
// : Array<기본타입>
let list2: Array<number> = [4, 5, 6];

 

⭐ void 타입

 아무런 값이 없다는 의미
주로 함수에서 반환 값이 없거나 return 키워드가 있더라도 반환 하는 값이 없을 때 사용되는 타입

function voidType(parameter:number): void {
  console.log(parameter);
  return;
}

✔️ 함수의 타입 정의

  •  파라미터(매개변수)와 반환값(retrun값) 정의 가능
  • TS에서 "파라미터"에 타입을 명시하지 않으면 오류 발생
  • 함수 내에서 사용할 변수에 대한 안정성 요구
  • 변수의 타입 명시와 동일
console.log('voidType 선언'); //voidType 선언
voidType(10); //10

 

타입이 정의된 상태에서 return이없거나 반환 값이 없으면 오류가 발생한다.

하지만 타입이 void타입으로 정의되면 반환값 표시가 없도 값을 출력할 수있다.

 

⭐ null & undefinded 타입

✅null 타입 

아무것도 없음, 데이터가 잘못된 경우


✅ undefined 타입

변수 생성은 했지만 안에 값이 없을 경우

let nullType: null;
// nullType = 3;
// nullType = '안녕하세요';

let undefinedType: undefined;
// undefinedType = 5;
// undefinedType = '반갑습니다';

둘다 error를 발생 시킨다.

 

⭐ any 타입 (모든)

  • 모든 타입에 대해 허용하는 타입
  • 타입 검사 오류가 발생하는 것을 방지 (모든 타입과 호환 가능)
let anyType: any = 3;
anyType = '문자열';
anyType = false;
anyType = {};
anyType = [];
let unknownData;
  • 타입을 직접적으로 명시하지 않을 경우 값이 할당되기 전까지 자동으로 any타입으로 인식

⭐never 타입

  • 절대 발생하지 않는 값의 타입
  • 함수가 예외를 발생시키거나 끝나지 않을 때 사용
function error(message: string): never {
  throw new Error(message);
};

// error('에러 발생!!!'); - Error

 

✔️예제)

문제 1: 기본 타입 정의하기
 username은 문자열, userAge는 숫자, isSubscribed는 불리언 값으로 타입을 정의

let username: string = '이승아';
let userAge: number = 28;
let isSubscribed: boolean = true;

 

문제 2: 배열 타입 정의하기
문자열 배열 fruits와 숫자 배열 numbers를 정의

let fruits: string[] = ['사과', '바나나', '망고'];
let numbers: Array<number> = [1, 3, 5];

 

문제 3: void 타입을 사용하는 함수 정의하기
아무런 값을 반환하지 않고, 매개변수로 받은 메시지를 콘솔에 출력하는 함수 printMessage를 정의

function printMessage(message: string): void {
  console.log(message);
}