この記事では、jsのデータ型とデータ構造の世界を紹介します。

この記事では、jsのデータ型とデータ構造の世界を紹介します。

1. 動的型付けとは何ですか?

  • JavaScript は弱い型付けの動的言語です。
  • 変数の型を事前に宣言する必要はありません。型はプログラム実行中に自動的に決定されます。
  • これは、同じ変数を使用して異なるタイプのデータを保存できることも意味します。
let a; // 最初は型が指定されていません a = 11; // a は数値型になりました a = "二大爷"; // a は文字列型になります a = true; // a はブール型になります

予期しないエラーが発生する可能性があるため、実際のアプリケーションでこれを行うことはお勧めしません。

  • 例えば、あなたの弟が突然女性になり、とても美しくなります(寝るか寝ないか? )
  • 例えば、あなたの親友が突然、とてもハンサムな男性になったとします(行くべきか、行かないべきか? )
  • 例えば、隣人の王さんがあなたの妻になる...(王さん自身が寝取られ男になる?)
  • まとめると、一度データ型が決まったら、安易に改ざんしてはいけません~~

ここに画像の説明を挿入

2. データ型

  • JavaScript には 6 つのデータ型しかないとまだ思っているかもしれません (これは本来の認識です)
  • 最新の ECMAScript 標準では、8 つのデータ型が定義されています

2.1 プリミティブ型 (6 つのプリミティブ型、typeof 演算子を使用してチェック)

  • 未定義: typeof インスタンス === "未定義"
  • ブール値: typeof インスタンス === "boolean"
  • 数値: typeof インスタンス === "number"
  • 文字列: typeof インスタンス === "文字列"
  • BigInt: typeof インスタンス === "bigint" (任意の大きさの整数)
  • シンボル: typeof instance === "symbol"

2.2 null とオブジェクト

  • null: typeof インスタンス === "オブジェクト"
  • typeof インスタンス === "オブジェクト"。
  • 構築されたオブジェクトのインスタンスであり、データ構造としても使用される、特別な非データ構造型: (new Object、new Array、new Map、new Set、new WeakMap、new WeakSet、new Date)、および new キーワードで作成されたほぼすべてのもの。

2.3 typeof演算子の重要なポイント

  • typeof 演算子の唯一の目的は、データ型をチェックすることです。
  • Object から派生した構造体の型をチェックしたい場合、typeof を使用すると常に「object」が返されるため機能しません。
  • オブジェクトの型を確認する適切な方法は、instanceof キーワード (配列とオブジェクトなど) を使用することですが、これにも不正確な点があります (残念ながら、現時点では 100% 準備が整った方法はありません)。

ここに画像の説明を挿入

3. 元の値

3.1 プリミティブ値の基本概念

  • Object を除くすべての型は不変です (値自体は変更できません)。
  • たとえば、C とは異なり、JavaScript の文字列は不変です ( JavaScript の文字列に対する操作は常に新しい文字列を返し、元の文字列は変更されません)。これらのタイプの値を「プリミティブ値」と呼びます。

3.2 各タイプの説明

  • ブール型: true と false の 2 つの値を持つ論理エンティティ
  • NULL型: 値は1つだけ: null、つまり何も意味しない
  • 未定義型: 値が割り当てられていない変数のデフォルト値は未定義になります。
  • 数値型: Java のようにそれ以上の細分化はなく、整数と浮動小数点数の両方が可能です。符号付きの値もいくつかあります: +Infinity、-Infinity、NaN (非数)
  • BigInt 型: 任意の精度の整数を表すことができる JavaScript の基本的な数値型。数値の安全な整数制限を超える大きな整数でも、安全に保存および操作できます。 BigInt は、整数の末尾に n を追加するか、コンストラクターを呼び出すことによって作成されます。

構文: BigInt(value);

value: 作成されたオブジェクトの値。文字列または整数にすることができます

BigInt() はコンストラクターではないため、new 演算子は使用できません。

  • 文字列型: 文字列は不変です。つまり、文字列は一度作成されると変更できません。ただし、元の文字列に対する操作に基づいて新しい文字列を作成することは可能です。

個々の文字を選択するか、String.substr() を使用することで、文字列の部分文字列を取得できます。

2 つの文字列を連結するには、連結演算子 (+) または String.concat() を使用します。

  • シンボルタイプ: 一意かつ変更不可能で、オブジェクトのキー値としても使用できます。
  • オブジェクト タイプ: オブジェクトはプロパティのコレクションとして表示できます。オブジェクトがオブジェクト リテラル構文を使用して定義されると、一連のプロパティが自動的に初期化されます。

プロパティの値は、複雑なデータ構造を持つオブジェクトを含め、任意の型にすることができます。属性はキーによって識別され、その値は文字列またはシンボルになります。

上記は、js データ型とデータ構造の世界にあなたを導くこの記事の詳細な内容です。js データ型とデータ構造の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • js の基本的なデータ型の詳細な説明
  • 8つのJavaScriptデータ型
  • JavaScript の 7 つのデータ型の詳細な説明
  • JSにおけるデータ型の正しい判定方法の例
  • JavaScript データ型変換の詳細な説明 (推奨)
  • JavaScriptのデータ型の最も詳細な説明を見てみましょう

<<:  Windows 2008 タスク プランが bat スクリプトの実行に失敗したときに 0x1 を返す問題の解決方法

>>:  mysql はフィールドコンテンツの一部を置き換え、mysql は関数 replace() を置き換えます。

推薦する

MySQL のデッドロック チェックとデッドロック除去の例の詳細な説明

1. クエリプロセスプロセスリストを表示2. 対応するプロセスを照会し、IDを強制終了します。検証(...

html の img src="" で js 関数または js 変数を呼び出して、画像パスを動的に指定します。

この問題に関して、オンライン リソースをたくさん見つけました。ここにいくつかの方法を示します。コード...

ジョセフリング問題を解決する 3 つの JavaScript メソッド

目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...

axiosリクエストをvueでカプセル化する方法

実際、Vueでaxiosをカプセル化するのは非常に簡単ですまず、srcパスにhttpフォルダを作成し...

HTML 固定タイトル列、タイトル ヘッダー テーブル固有の実装コード

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

DockerにJava環境をインストールするための実装手順

この記事は Linux centos8 をベースにして、docker をインストールし、イメージをプ...

MySQL ストアド プロシージャの in、out、inout パラメータの例と概要

ストアドプロシージャ1. ストアドプロシージャを作成し、グローバル変数を表示する mysql>...

12個のJavascriptテーブルコントロール(DataGrid)が整理されています

DataGrid コントロールの DataSource プロパティがデザイン時に設定されている場合、...

IDEA は MySQL への接続時にエラーを報告します。サーバーが無効なタイムゾーンを返します。タブに移動して serverTimezone プロパティを設定してください。

これからの道は常に困難で、棘だらけです。歯を食いしばって、乗り越えられると信じてください。さあ、さあ...

自動ウェブページ更新と自動ジャンプのサンプルコード

ウェブページの自動更新: <head></head> の間に次のコードを追加...

CentOS 7にChromeブラウザをインストールする方法

この記事では、CentOS 7 に Chrome ブラウザをインストールする方法を紹介します。詳細は...

JavaScript プロトタイプとプロトタイプチェーンの深い理解

目次1. プロトタイプとは何ですか? 2. プロトタイプ__プロト__ 4. コンストラクター5. ...

Linux に nginx をインストールする方法

Nginx は C 言語で開発されており、Linux で実行することをお勧めします。もちろん、Win...

非常に詳細な MySQL8.0.22 のインストールと設定のチュートリアル

みなさんこんにちは。今日は、MySQL 8.0.22 のインストールと構成について学習します。注意深...

ウェブページのカスタム選択ボックス選択

選択ドロップダウン リスト フォームは誰もがよく知っているかもしれませんが、デフォルトのドロップダウ...