この記事では、JavaScript で一般的に使用されるデータ型の概念を紹介します。これには一定の参考価値があります。必要な友人は参照できます。お役に立てば幸いです。
プログラミング言語にはすべてデータ構造が組み込まれていますが、さまざまなプログラミング言語のデータ構造は異なることがよくあります。この記事では、他のデータ構造の構築に使用できる JavaScript 言語の組み込みデータ構造とそのプロパティをリストし、他の言語との違いを可能な限り説明しようとします。
1. 動的型付け
JavaScript は、弱い型付けまたは動的言語です。つまり、変数の型を事前に宣言する必要はなく、プログラムの実行中に型が自動的に決定されます。これは、同じ変数を使用して異なるタイプのデータを保存できることも意味します。
JS 共通データ型
プログラミング言語には組み込みのデータ構造がありますが、さまざまなデータ構造があります。プログラミング言語には違いがあることがよくあります。この記事では、他のデータ構造の構築に使用できる JavaScript 言語の組み込みデータ構造とそのプロパティをリストし、他の言語との違いを可能な限り説明しようとします。
1. 動的型付け
JavaScript は、弱い型付けまたは動的言語です。つまり、変数の型を事前に宣言する必要はなく、プログラムの実行中に型が自動的に決定されます。これは、同じ変数を使用して異なるタイプのデータを保存できることも意味します。
var foo = 42; // foo is a Number now foo = "bar"; // foo is a String now foo = true; // foo is a Boolean now
動的型付け言語の特徴は柔軟性ですが、欠点はパフォーマンスがある程度犠牲になることです。動的型付け言語の場合、変数の型は動的に変更される可能性がありますが、コンパイル時には決定できないため、コンパイル時の型チェックは比較的弱く、実行時まで発見できない多くの型エラーが発生します。
2. データ型
最新の ECMAScript 標準では 7 つのデータ型が定義されています:
6 プリミティブ型:
Boolean Null Undefined Number String Symbol (ECMAScript 6 新定义)Object
3. プリミティブ値 (プリミティブ値)
Object を除くすべての型は不変です (値自体は変更できません)。たとえば、C 言語とは異なり、JavaScript の文字列は不変です。このような種類の値を「プリミティブ値」と呼びます。
Boolean 型 (Boolean)Boolean は論理エンティティを表し、true と false の 2 つの値を持つことができます。
Null 型Null 型には値が 1 つだけあります: null 詳細については、「null と Null」を参照してください。
未定義型値が割り当てられていない変数には、デフォルト値が未定義になります。詳細については、「未定義」および「未定義」を参照してください。
数値タイプECMAScript 標準によれば、JavaScript には数値タイプが 1 つだけあります: IEEE 754 に基づく倍精度 64 ビット バイナリ形式の値 (-(263 -1) ~ 263 -1)標準。整数の特定の型は提供されません。浮動小数点数を表現できることに加えて、Infinity、-Infinity、NaN (Not-a-Number) などの符号付き値も使用できます。
値が /-Infinity より大きいか小さいかを確認するには、定数 Number.MAX_VALUE および Number.MIN_VALUE を使用できます。さらに、ECMAScript 6 では、Number.isSafeInteger() メソッド、Number.MAX_SAFE_INTEGER および Number.MIN_SAFE_INTEGER を使用して、値が倍精度浮動小数点数の範囲内にあるかどうかを確認することもできます。この範囲を超えると、JavaScript の数値は安全ではなくなります。つまり、JavaScript の数値型で正しく表現できるのは 2 番目の数学的整数のみです。
数値型には整数が 1 つだけあり、その整数には 2 つの表現方法があります。0 は -0 と 0 として表現できます (「0」は 0 の省略形です)。実際には、これもほとんど影響はありません。たとえば、0 === -0 は true です。ただし、0 で割る場合は注意が必要です。
42 / +0; // Infinity 42 / -0; // -Infinity
String 型
JavaScript の string 型は、テキスト データを表すために使用されます。これは、16 ビットの符号なし整数値のセットの「要素」です。文字列内の各要素は文字列内の位置を占めます。最初の要素のインデックスは 0、次の要素のインデックスは 1、というようになります。文字列の長さはその要素の数です。
C 系言語とは異なり、JavaScript 文字列は不変です。これは、文字列が作成されると変更できないことを意味します。ただし、元の文字列の操作に基づいて新しい文字列を作成することは可能です。例:
個々の文字を選択するか、String.substr() を使用して、文字列の部分文字列を取得します。2 つの文字列を接続するには、連結演算子 ( ) または String.concat() を使用します。
コード内の「文字列型」に注意してください!
文字列を使用して複雑なデータを表現できます。ここにいくつかの優れたプロパティがあります:
複雑な文字列文字の連結と構築が簡単
文字列はデバッグが簡単 (表示される内容は多くの場合文字列内にあります)
文字列は通常、多くの API (入力フィールド、ローカル ストレージ値、XMLHttpRequest) で共通の標準ですは、responseText などを使用するときに応答します)、文字列でのみ使用できます。
慣例により、文字列は通常、あらゆるデータ構造を表現するために使用できます。これは良い考えではありません。たとえば、区切り文字を使用すると、リストを模倣できます (JavaScript 配列の方が適している可能性があります)。残念ながら、リスト内の要素に区切り文字を使用すると、リストが中断されてしまいます。エスケープ文字などこれらすべてのルーチンは、使用する適切なツールがなければ、メンテナンスの負担がまったくなくなります。
テキストデータやシンボリックデータを表現する場合は文字列を使用することを推奨します。複雑なデータを表現する場合は、文字列解析と適切な省略形を使用します。
シンボル タイプ
シンボルは ECMAScript 第 6 版で新たに定義されました。シンボリック型は一意で変更不可能であり、オブジェクトのキー値としても使用できます (以下に示すように)。一部の言語には同様のアトミック型 (アトム) もあります。C の列挙型であると考えることもできます。詳細については、「シンボルとシンボル」を参照してください。
オブジェクト オブジェクト
JavaScript では、オブジェクトはプロパティのコレクションとして見ることができます。オブジェクト リテラル構文を使用してオブジェクトを定義すると、一連のプロパティが自動的に初期化されます。 (言い換えると、var a = "Hello" を定義すると、a 自体がメソッド a.substring、属性 a.length などを持ちます。オブジェクトを定義した場合、var a = {}、次に a a.hasOwnProperty や a.constructor などのプロパティとメソッドが自動的に追加されます。)その後、これらのプロパティを増減できます。プロパティの値は、複雑なデータ構造を持つオブジェクトなど、任意のタイプにすることができます。属性はキーによって識別され、そのキー値は文字列またはシンボル値 (Symbol) になります。
ECMAScript で定義されるオブジェクトには、データ プロパティとアクセサー プロパティの 2 種類のプロパティがあります。
データ属性
データ属性はキーと値のペアであり、各データ属性には次の特性があります。
データ プロパティの属性
O(∩_∩ )O はは~やはり基本はとても大切です。
以上がJavaScript で一般的に使用されるデータ型の概念の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
