-
Typescript - 변수 선언Front-end/Typesrcipt 2023. 4. 11. 16:11728x90반응형
Typescript 변수 선언
Typescript 변수에 타입을 지정할 수 있다.
let myName: string = '내 이름'; // string 타입 let myAge: number = 3; // number 타입 let myboolean: boolean = true; // boolean 타입 let myNull: null = null; // null 타입 let myUndefined: undefined = undefined; // undefined 타입 let myStrArr: string[] = ['1', '2', '3']; // 문자열 배열 타입 let myNumArr: number[] = [1, 2, 3]; // 숫자열 배열 타입 let myObject: { name: string } = { name: 'zelord' }; // 오브젝트 타입 let myObject2: { name?: string } = { }; // ? 는 name속성이 들어올수있거나 없다. let myUnion: string | number = 13; // 두가지의 타입이 들어 올 수 있다 (union type)
타입의 종류는 string, number, boolean, null, [], {}, bigint 등이 있다.
타입을 한번 선언하면 그의 맞는 값들이 들어가야한다.
배열에 타입을 선언할때 숫자만 또는 문자만 들어올 수 있도록 타입을 선언할 수 있다.
Union Type 선언
Union Type이란 두 타입을 허용 할 수있도록 선언한다.
let myUnion: string | number = 13; // 숫자 타입 허용 myUnion = "13"; // 문자 타입 허용
배열에 여러가지 타입이 들어올 수 있도록 하려면 union type을 선언하여 사용 할 수 있다.
let myUnionArr: (string | number)[] = [1, '2', 3] // 문자, 숫자 타입사용이 가능하다.
반응형Type Alias 선언
Type alias란 타입을 변수에 담아서 사용 할 수 있다.
type MyType = string | number; // 타입변수 선언 시 대분자 사용 let editType: MyType; = 902; // 타입변수를 사용하여 변수를 선언 할 수 있다.
Function Type 선언
Function(함수)에 타입을 선언 할 수 있다.
function myFn(x: number): number { // x: number = 파라미터 타입 선언 return x * x; // function(): number = return 타입 선언 } // 타입을 파라미터로 number, 리턴값으로 number 선언 myFn('123') // 에러 발생 // return 이 없을 시 :void 로 선언한다.
Tuple Type 선언
Tuple Type이란 배열의 서브타입이다.
각 배열의 인덱스 마다 타입을 설정 해 줄수있다.
tuple type은 불변구조이기때문에 readonly 키워드를 명시적으로 붙여준다.
type TupleType = readonly [number, string, boolean]; // 0번째: number, 1번째: string 2번째: boolean let tupleArr:TupleType = [1, '2', false]; tupleArr = [2, 3, true]; // 1번째 인덱스에서 숫자가 들어가서 에러
Object Type 선언
Object tyoe 선언은 key에 맞는 value를 선언해야한다.
let myObject: { name: string, // name 이라는 속성에는 string타입 age: number, // age 라는 속성에는 number } = { name: 'zelord', age: 20, };
각각의 속성에 따라 타입을 선언해 줄수있지만 속성이 많을경우 한번에 선언해 줄 수 있다.
type MyObjType = { [key: string]: string, // 모든 속성타입을 string으로 선언 } let myObject: MyObjType= { // 모든 속성들의 값이 string으로 들어가야한다. name: 'zelord', age: '23', job: 'front-end', };
Class Type 선언
Class 선언 문법은 자바스크립트와 똑같지만 타입선언만 해주면된다.
class Info { name: string; // 변수 name에 string 타입선언 age: number; // 변수 age에 number 타입선언 constructor(name: string, age: number){ // 각각 파라미터에 타입을 선언한다. this.name = name; this.age = age; } }
728x90반응형'Front-end > Typesrcipt' 카테고리의 다른 글
Typescript - Narrowing & Assertion (0) 2023.04.12 Typescript - function parameter, return (0) 2023.04.12 Tyepscript - Union, any, unknown (0) 2023.04.12 Typescript - Primitive Types (0) 2023.04.12 Typescript - 설치 및 셋팅 (0) 2023.04.11