この記事では、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 レプリケーションの詳細な説明と簡単な例

MySQL レプリケーションの詳細な説明と簡単な例マスタースレーブレプリケーション技術は、MySQL...

Vue フロントエンドで PDF を生成してダウンロードする方法

目次1. インストールと導入2. PDFファイルをパッケージ化してエクスポートする方法構成の詳細PD...

要素 el-table テーブルの二次カプセル化 (テーブルの高さの調整付き)

序文会社でのインターンシップ中、フロントエンド開発にはvue+element-uiフレームワークを使...

ブラウザが登録できるイベントの概要

HTML イベント リスト一般イベント: onClick HTML: マウスクリックイベント。主にオ...

コンテンツタイプの説明、つまりHTTPリクエストヘッダーのタイプ

コンテンツ タイプについて学ぶには、まずそれが何であるか、そして何に使用されるかを知る必要があります...

MySQL インデックス プッシュダウンの詳細

目次1. 左端接頭辞原則2. 表に戻る3. インデックスプッシュダウン序文:インデックス プッシュダ...

スケジュールされた時間に古いジャンクファイルを自動的に削除する Linux 用の Autotrash ツール

Autotrash は、古い削除済みファイルを消去するプロセスを自動化するコマンド ライン プログラ...

Linux システムで grub.cfg ファイルの破損を修復する手順

目次1. grub.cfg ファイルの紹介1. grub.cfg ファイルの場所2. grub.cf...

CSS3 ボタン境界アニメーションの実装

まず効果を見てみましょう: html <a href="#"> &l...

js 属性オブジェクトの hasOwnProperty メソッドの使用

オブジェクトの hasOwnProperty() メソッドは、オブジェクトに特定の独自の (継承され...

MySQL RouterはMySQLの読み取りと書き込みの分離を実装します

目次1. はじめに2. MySQLルーターを構成する2.1 MySQLルーターのインストール2.2 ...

オブジェクトのプロパティを反復処理する際の TypeScript の問題

目次1. 問題2. 解決策1. オブジェクトをanyとして宣言する2. オブジェクトのインターフェー...

MySQL 挿入時間の 8 時間の違いの問題の解決方法

MySQL挿入時の8時間の時差の問題を解決する通常、jdbc の URL にはいくつかのパラメータを...

Dockerを使用してコンテナリソースを制限する方法

覗き見の問題サーバーでは、IIS サービスが複数のサイトを展開していると仮定すると、サイトの 1 つ...

Linux で起動時にプログラムを自動的に実行させる最も簡単な方法

たくさん集めましたが、すべて失敗に終わりました。最終的に、この方法は優れており、使用に影響を与えない...