OR 연산자 ( A || B )
printOut함수는 input 파라미터를 받아서 해당 파라미터를 출력해 준다.
const printOut = (input: string | number) => { // 문자열 또는 숫자형이 올수있다.
console.log(input);
}
printOut('문자열'); // 문자열
printOut(20); // 20
printOut(true); // Error
typeof
toFiexed()는 소수에 사용된다. typeof을 사용하여 number일 경우와 string일 경우를 조절해 줄 수 있다.
function getAge(age: number | string) {
if (typeof age === 'number') {
age.toFixed();
return age;
}
if (typeof age === 'string') {
return age;
}
}
getAge('20');
getAge(20);
padLeft
padLeft함수는 value와 padding을 파라미터로 받는다.
function padLeft(value: string, padding: any) {
if (typeof padding === 'number') {
return Array(padding + 1).join(' ') + value;
}
if (typeof padding === 'string') {
return padding + value;
}
throw new Error(`Expected string or number, got '${padding}'.`);
}
console.log(padLeft('Hello world', 4)); // " Hello world"
console.log(padLeft('Hello world', '!!!')); // "!!!Hello world"
console.log(padLeft('Hello world', true)); // Error
Type Alias (사용자 정의 타입)
const hero1: { name: string; power: number; height: number } = {
name: '슈퍼맨',
power: 1000,
height: 190,
};
const printHero = (hero: { name: string; power: number; height: number }) => {
console.log(hero.name, hero.power);
};
console.log(printHero(hero1));
매번 타입을 새로 작성하는 건 번거롭고 재사용이 불가능하다.
type 키워드를 사용하면 효율적이다.
// type.ts
// Type Alias(타입 별칭)
type Hero = {
name: string;
power: number;
height: number;
};
type.ts적어준 type Hero를 import해서 사용하기.
import type { Hero } from './type';
const hero1: Hero = {
name: '슈퍼맨',
power: 1000,
height: 190,
};
const printHero = (hero: Hero) => {
console.log(hero.name, hero.power);
};
console.log(printHero(hero1));
'개발 일지 > TIL' 카테고리의 다른 글
[ TypeScript ] 제네릭 & 타입 추론 (0) | 2023.01.17 |
---|---|
[ TypeScript ] Interface & Intersection Type (0) | 2023.01.17 |
[ TypeScript ] 타입 표기 (Type Anotation) (0) | 2023.01.16 |
[ TypeScript ] TypeScript 기초 다지기 및 파일 생성 (0) | 2023.01.16 |
[ ReactNative / KPT ] 동네북 프로젝트 회고 (0) | 2023.01.13 |
댓글