[Type Script]デフォルトタイプと関数タイプ


📕 これは、インフラストラクチャカリキュラムタイプスクリプト入門-ベースから実戦へで作成された投稿です.
基本タイプ
文字列(String)
let str: string = 'hello';
数値(Number)
let num: number = 10;
アレイ
let arr: Array<number> = [1, 2, 3];
let items: number[] = [1, 2, 3]; // 배열 리터럴 사용
let heroes: Array<string> = ['Capt', 'Thor', 'Hulk', 10]; // Error
デュアル(Tuple)
let address: [string, number] = ['seoul', 100];
オブジェクト
let obj: object = {};
let person: object = {
    name: 'kyungjin',
    age: 26
};
オブジェクト内部のタイプも指定できます.フィールドが欠落している場合、Linterはエラーを修正します.
let person: { name: string, age: number } = {
    name: 'kyungjin',
    age: 26
};

ブライアン
let show: boolean = true;
関数のタイプ
パラメータタイプ
function sum(a: number, b: number) {
    return a + b;
}

sum(10, 20);
戻り値のタイプ
function func(): number {
    return 10;
}
パラメータ&戻り値のタイプ
function sum(a: number, b: number): number {
    return a + b;
}
Optional Parameter
関数パラメータの個数による操作の違い
// TS 정상 동작
sum(10, 20);

// TS 에러
sum (10, 20, 30); // Error!

// JS 정상 동작
sum(10, 20, 30); // JS에서는 오류가 발생하지 않는다
TypeScriptでは、関数パラメータと1対1のマッピングを行う必要があります.
パラメータ数が異なる場合は、複数の関数を作成する必要がありますか?
log('hello world');
log('hello ts', 'abc');
Optionalパラメータを使用すると解決できます.
function log(a: string, b?: string) {
  
}

// 정상 동작
log('hello world');
log('hello ts', 'abc');