[개발] typescript basic & basic types
typescript basic & basic types
https://www.typescriptlang.org/docs/handbook/basic-types.html
종류
- number - integer(정수), float(실수) 를 포함한 모든 숫자
1,5.3,-10
- string - 모든 문자열 값
HI
- boolean - 참/거짓
true, false
- object - 개체 타입
{age:30}
- array - 목록 타입
[1,2,3]
- tupple - 고정 길이의 배열
[number,array]
- enum - 전역상수 식별자를 생성해줌
enum {NEW, OLD}
- any - any(모든) 타입이 들어 갈 수 있음. ( 타입 미 지정 시 any )
타입 비교
if( typeof str === 'string'){
}
Object 타입 지정 및 할당
const person : {
name : string;
age : number;
hobbies : string[];
} = {
name : 'wonsama',
age : 17,
hobbies : ['reading', 'traveling']
}
enum 예시
값 미 지정시 0부터 시작함. ( 문자열이나 다른 값 지정도 되나 default value 색상까지 지정 가능 )
enum Role { ADMIN, READ_ONLY, AUTHOR };
union types
N개 이상의 타입을 허용함.
// input 은 number 또는 string 둘 다 입력 가능
function combine(input : number | string){}
literal types
문자 형태의 타입, 아래의 경우 'on' 또는 'off' 만 입력 받을 수 있음.
function combine(input : 'on' | 'off'){}
type alias (타입 별칭)
type
키워드를 사용하여 타입 별칭을 사용할 수 있다. 코드 가독성을 늘려줌.
type Combineable = number | string;
type OnOff = 'on' | 'off';
function combine(input : Combineable, isOn:OnOff){}
함수 리턴
undefined
를 리턴 하여 구성할 수 있으나 void 를 사용하는 것을 권장함.
function printResult():void{
}
function printResult():undefined{
return;
}
콜백 함수 형태
function addHandler(n1:number, n2:number, cb:(num:number)=>void){
cb(n1+n2);
}
addHandler(3,2, (result)=>{
console.log(result);
})
unknown 타입
- 이
any
인 경우에는 오류가 발생하지 않지만, 1) 이unknown
인 경우에는 오류 발생
unknown 은 타입을 좁혀서(narrowing) 사용해야 됨, any 는 그럴 필요가 없음.
그래서 any 보다는 unknown 을 사용하는 것이 좀 더 안전하게 코딩을 할 수 있음 ( 아직은 좀 더 써봐야 될듯 싶음 )
let userInput:unknown; // 1)
let userName:string;
userInput = 5;
userInput = 'Max';
userName = userInput; // 2)
naver 타입
never는 일반적으로 함수의 리턴 타입으로 사용됩니다. 함수의 리턴 타입으로 never가 사용될 경우, 항상 오류를 출력하거나 리턴 값을 절대로 내보내지 않음을 의미
function generateError(message : string, code : number) {
throw {message : message, code : code};
}
generateError('An error occured', 500);
@tipu curate 2
Upvoted 👌 (Mana: 3/7) Get profit votes with @tipU :)
@wonsama transfered 10 KRWP to @krwp.burn. voting percent : 9.38%, voting power : 59.14%, steem power : 1825981.83, STU KRW : 1200.
@wonsama staking status : 1670.929 KRWP
@wonsama limit for KRWP voting service : 1.67 KRWP (rate : 0.001)
What you sent : 10 KRWP
Refund balance : 8.33 KRWP [56412803 - 7548970c97710034644a29bf94af4463100fb7c4]