TIL 45|Data基本タイプ


Data Type
  • Javascriptはタイプと似ていますが、ダイナミックタイプではありません.タイプが決定されると、他のタイプのデータはこの変数に割り当てられません.△より厳しい基準がある.
  • JavaScript Data Type
  • Primitive: number, string, boolean, bigint, symbol, null, undefined
  • Object: function, object, array ...
  • Number
    const num1: number = 1;
    const num2: number = 0.01;
    const num2: number = -12;
    const num: number = "string"; //Type 'string' is not assignable to type 'number'.

  • 割り当てられたデータ型は数値です.

  • 自然数、整数、負の数でもいいです.(タイプ以外のデータが含まれている場合、エラーが発生します.)
  • String
    const str: string = "string입니다.";
  • に割り当てられたデータ型は文字列である.
  • Boolean
    const boolean1: boolean = true;
    const boolean2: boolean = false;
  • に割り当てられたデータ型はboolean(true,false)型である.
  • Undefind(x単独)
    let name: undefined;
    let age: number | undefined; // number 타입의 값이 존재하거나, 또는 undefined을 할당('|': or를 뜻한다.)
    age = 1;
    age = undefined;

  • 割り当てられたデータ型は定義されていません.

  • 未定義のデータのみを宣言する場合、どのタイプのデータも変数に割り当てることができません.したがって、個別に割り当てるのではなく、未定義のデータのみをオプションのデータとして使用します.
  • Null(x単独使用)
    let person: null;
    let person2: string | null; // |: or를 뜻한다.
    person2 = "yongmin";
    person2 = null;

  • 割り当てられたデータ型はnullです.

  • undefinedと同様にnullも直接割り当てではなくオプションです.
  • Unknown
    let notSure: unknown = 0;
    notSure = undefined;
    notSure = "anytype";
    notSure = true;

  • 割り当てられたデータ型は不明で、割り当てられたデータ型は不明です.

  • JavaScriptの戻り値タイプが分からない場合は、タイプのないJavaScriptと連動することをお勧めします.そうしないと使用しないでください.
  • Any
    let anything: any = 0;
    notSure = undefined;
    notSure = false;
    //
    function Add(a, b) {
      return a + b; // return값이 any로 확인됨
    }

  • 割り当てられたデータ型はany、すべてのデータ型に値を割り当てることができます.△unknownを知らなければ、anyは何でも可能な感じ?

  • 上記のAdd関数に示すように、Addのparameterタイプを特定しない場合、自動的にanyとしてタイプを決定することができる.
  • Void
    function print() { // function print(): void 
      console.log("i'm void");
    }
    //
    function print2(): void {
        console.log("i'm, void"); // 타입을 명시하는 것을 권장한다.
      }

  • 関数にreturnの値がない場合(空の場合)は、voidとして自動的に指定されます.

  • 自動指定は慣例ですので、通常はタイプを指定しますので、変数には指定せずにできるだけ作成してください.(return自体は空なので、undefinedしか割り当てられません)
  • Never
    function throwError(message: string): never {
      // message => server(log) 서버쪽에 에러메세지를 남긴 후에
      throw new Error(message); //에러를 던질 수 있다.
    }
  • デッド関数、エラーや関数が終了しない無限ループ状態が発生した場合に使用するタイプ.(正直、この部分についてはよくわかりませんが...もう一度探さなければなりません…)
  • Reference

  • タイプスクリプトの正式ドキュメント

  • Dream Coding EllyのTSとOPPレッスン