TypeScript_타입의 종류와 정의
Devel2021. 7. 7. 16:35
반응형
Any 타입
- any type은 TypeScript의 모든 type의 super type으로서 동적 type을 나타낸다.
- any type을 사용하면 변수에 대한 type 검사를 생략하는 것과 같다.
Built-in 타입
User-defined 타입
- 사용자 정의 형식에는 열거 형 (enum), 클래스, 인터페이스, 배열 및 튜플등이 포함됨.
역따옴표(`) 사용하기
let fullName:string = `Bob Bobbington`;
let sentence:string = `hello, my name is ${fullName}`;
console.log(sentence);
배열
//배열
//1. 데이터 형식 []
let ex:number[]=[1,2,3];
console.log(ex.length);
console.log(ex);
//2.array<데이터> 형식
let ex2: Array<number>=[1,2,3];
console.log(ex2.length);
console.log(ex2);
튜플
//튜플 ==> 배열의 특정 위치에 고정된 타입만 저장가능
//Declare a tuple type
let x:[string, number];
x=["홍길동", 20]; //ok
//x = [20, "홍길동"];
console.log(x[0], x[1]);
//튜플 형식에 맞지 않게 x=[20,"홍길동"]; 적을 경우, 에러발생
**tsc킬때 에러가 발생하면, 파일 경로가 맞는지! 확인하기
any = 숫자도, 문자도 지정 가능함
//any타입은 Object 타입과 다르다
var a: any=null;
a=100;
console.log(a.toFixed(2));
a="홍길동";
console.log(a.trim(), a.length);
//object
var a2:Object = null;
a2 = 100;
console.log(a2);
a="홍길동";
console.log(a.trim(), a.length);
main7_inferredTyping
//타입추론
var num = 2;//number로 인식
console.log("value of num"+num);
//num = "12";
Type Assertion
- Type Assertion은 변수의 타입을 다른 타입으로 변경하는 것을 의미한다.
- 기본 규칙은 현재타입-> any →목적타입 순으로 설정함.
- ‘타입 캐스팅'는 런타임에 타입이 변경됨을 의미하지만, Type Assertion은 컴파일 시점 에 발생됨을 의미한다.
(자바로 따지면 형변환)
//any타입은 바로 <타입>사용 가능
let someValue:any = "this is a string"
let strLength:number=(<string>someValue).length;
console.log(strLength);
//as 형식이 주로 사용됨
let strLength2:number=(someValue as string).length;
console.log(strLength2);
>16, 16 나옴
현재타입 -> any -> 목적타입
//현재타입 -> any -> 목적타입
var str = "1";
var str4:string=((str as any)as string);
console.log(str4);
//현재 타입 -> any->목적타입
//str string 을 number로 ㅂ꾸려고 한다
var str2:number = <number><any>str; //string -> any -> number
var str3 :string = <string><any>str2; //number->any->string
console.log(str, str2, str3);
'Devel' 카테고리의 다른 글
(MacOs) Vue.js설치 (0) | 2021.07.07 |
---|---|
Spring Framwork(스프링 프레임워크) 초기 설정, 메이븐 추가하기 (0) | 2020.12.03 |
맥북(Mac Os) 스프링 설치하는 법 (0) | 2020.12.03 |
scott계정 만는 방법(sql문) (0) | 2020.12.03 |
python flask 블로그 만들기 (0) | 2020.12.03 |
댓글()