PoiemaWeb-データ型と変数


データ型と変数


プログラム設計は変数格納と参照値により、演算子で値を計算、評価し、条件文と繰返し文でデータストリームを制御し、関数で再利用可能な構文集合を作成し、オブジェクト、配列などでデータを構造化する.変数は、値を格納する場所(アドレス)のリポジトリです.値の位置は、値が存在するメモリのアドレス(address)を表します.すなわち、変数は、値が存在するメモリアドレスにアクセスするために理解できる言語で命名された識別子である.

値をメモリに格納するには、まずメモリ領域を保持する必要があるメモリサイズ(byte)を知る必要があります.
  • byte:コンピュータのメモリサイズを表す単位としてよく用いられ、多くのプログラミング言語でも整数型に属している.1 Byteは8 bitに等しい.
  • これは、値のタイプによって、メモリサイズが異なることを確認する必要があるためです.値のタイプ、すなわちデータのタイプをデータ型と呼びます.
    JAvascriptは動的タイプ言語であり、変数のタイプ定義(Type Annotation)がない場合、付与中に自動的に変数のタイプ(Type Reinformation,Type Reinformation)を決定する.すなわち,変数には固定型がない.したがって、同じ変数に対して複数のタイプの値を自由に割り当てることができる.

    1.1元のタイプ(Primitive Data Type)


    元のタイプの値は、可変値(Immutable value)とpass-by-value(値を介して渡される)です.

    1.1.1 number


    JAvascriptは整数のみのタイプではなく、すべての数字を誤って処理します.したがって,整数で表される数の間を区切ってもミスが発生する.

    1.1.2 string


    文字列タイプは、テキストデータを表すために使用されます.文字列は0以上の16ビットUnicode文字(UTF-16)の集合であり、世界のほとんどの文字を表すことができる.文字列は、一重引用符(")または二重引用符("")にテキストを挿入して生成されます.最も一般的な記号は、一重引用符を使用します.
    C言語と異なり、JavaScriptの文字列は元のタイプで可変ではありません(可変ではありません).これは、生成されると文字列を変更できないことを意味します.
    var str = 'Hello';
    str = 'World';
    最初の構文が実行されると、メモリに文字列「Hello」が生成され、識別子strはメモリに生成された文字列「Hello」のメモリアドレスを指す.次に、2番目の構文を実行すると、以前に生成された文字列「Hello」を変更するのではなく、メモリに新しい文字列「World」が作成され、識別子strがそれを指します.この場合、文字列「Hello」と「World」がメモリに存在します.変数strは文字列「Hello」を指し、文字列「World」を指すように変更されます.
    文字列は配列のようにインデックスでアクセスできます.このような特性を有するデータを類似配列と呼ぶ.

    1.1.3 boolean


    ブール型の値は、論理真、偽true、falseのみを表す.空の文字列とnull、undefined、および数値0はfalseとみなされます.

    1.1.4 undefined


    未定義タイプの値は未定義のみです.後続の値が割り当てられていない変数に未定義の値があることを宣言します.すなわち、宣言された値が割り当てられていない変数にアクセスするか、存在しないオブジェクト構成にアクセスすると、未定義が返されます.これは空の状態です(ほとんどが空で、変数宣言によって得られたメモリ領域が最初に割り当てられるまでゴミ値(Garbage value)が含まれています.)これはjavascriptエンジンが定義されていないものとして初期化されるためです.変数に値がないことを表すには、undefinedではなくunllを割り当てる必要があります.

    1.1.5 null


    nullタイプの値はnullのみです.JavaScriptでは大文字と小文字が区別されるため、nullはnull、NULLなどとは異なります.
    プログラミング言語ではnullは、変数に値がないことを故意に宣言するために使用されます.これは、変数が記憶しているメモリアドレスの参照情報を削除することを意味し、JavaScriptエンジンは、誰も参照していないメモリ領域に対して不要な集合を実行します.
    nullタイプをチェックする場合は、type ofではなく一致演算子(====)を使用します.typeof nullの場合、objectはJavaScript設計上のエラーとして返されます.

    1.1.6 Symbol


    シンボル(Symbol)は、ES 6に新たに追加された7番目のタイプで、変更できない元のタイプの値です.

    1.2オブジェクトタイプ


    オブジェクトは概念的な存在であり、データとそれに関連する動作(ステップ、方法、機能)を含むことができる.異なる点は、名前と値を持つデータの属性と動作を表す方法を含む独立したボディです.オブジェクトはpass-by-reference(参照による伝達)で伝達されます.

    2.変数


    変数はvar、let、constキーワード宣言を使用し、付与演算子を使用して値を付与します.次に、識別子変数名を使用して、変数に格納されている値を参照します.値が指定されていない場合、宣言された変数のみが初期値undefinedを有します.宣言されていない変数にアクセスすると、参照エラーが発生します.

    2.1動的入力


    JavaScriptは、動的/弱い言語です.これは、変数のタイプ定義がない場合、値を割り当てる過程で、タイプが自動的に値のタイプによって決定されることを意味します.これをダイナミックタイプと言います.