[タイプScript]タイプ


TypeScript


=microsoftによって開発されたjavascriptのスーパーユニット言語.

1.基本タイプ

let isNumber: number = 3; //변수명: 타입 = 값;
  • 既存のJavaScriptで使用されているすべてのタイプが受け入れられます(string、number、array、...)
  • Array宣言は若干異なる
  • let arr: number[] = [1,2,3]; //배열명: 타입[] = [선언된 타입만 들어감]
  • JavaScriptにないタイプ
  • any:値のタイプが正しくない場合は、任意の値
  • を入れることができます.
  • readonlyタイプ属性(?)
  • let arr: readonly number[] = [1,2,3];
    // 배열 내의 값은 수정이 안되며 읽기만 가능.
  • tuple:タイプと長さを指定する配列
  • let usr: [number, string, number] = [1, "1", 3];
    //이 외의 값이 들어가거나 길이가 다르면 에러 남
    //기본적으로 배열에 추가 할당은 안되지만, push()나 slice()를 이용해 길이를 바꾸는것은 가능
  • enum:数値または文字列値のセットに名前を付けることができるタイプ.値の種類が一定範囲に決定されると役に立ちます.手動で値を変更し、変更した値から1を増やすことができます.
  • enum week {
    	sun, //0
      	mon, //1
      	tue, //2
      	...
      	sat //6
    }
    
    console.log(week[0]) //sun
    
    enum color {green='green', red='red'} //이렇게 문자열로 줄수도 잇음

  • unknown:anyのように任意の値を割り当てることができますが、uknownを割り当てることはできません.

  • ≪オブジェクトの使用|Use Objects|oem_src≫:キーのタイプを1つずつ指定できます.

  • null,undefined:anyまたはunknownよりも制約のないタイプまたは値.
  • let str: string = null | undefined;
    let idk: null = undefined;
    let idk2: undefined = null; //서로의 타입이 되어줄 수 있음.
  • void:通常、値を返さない関数のタイプに使用されます.
  • 	function test(name:string): void {
         	console.log("hello"); 
        }
    /// void자리가 함수의 반환값을 선언해주는 자리
    
    	const hello: void = hello('world');
    // void타입 함수의 실제 반환 값은 undefined;
  • Never:絶対に発生しない値で、どのタイプも適用されません.
    =>>通常、空の配列をタイプとして誤って指定した場合、コンソールには表示されません.
  • Union:2種以上
  • let test: (string | number) = 3 or "3"; //둘 다 에러 안남
  • 交差:使用&組合せタイプ
  •  // Error -  TS2322: Type '{ name: string; age: number; isValid: boolean; }' is not assignable to type 'IUser'.
    
    interface user1 {name: string, age: number};
    interface user2 {name: string, smokes: boolean};
    
    const userData: user1 & user2 = {name: 'Bob', age: 33, smokes: false};
    
    console.log(userData);
  • 関数
  • function test(a:number, b:number) => {return a+b};
    console.log(test(3,5)); //8
    
    const test2 = (a: number, b: number) :number => {return a+b}
    console.log(test2(9, 7)); //16
    関数、intersection、void、null、undefined、any、unknown、enum、tuple妖精を覚えている場合は、JavaScriptとのオーバーラップが多いかもしれません.