JavaScript の値の型の詳細な紹介

May 16, 2016 pm 04:23 PM

コンピュータプログラムの本質は、機械がさまざまな情報(値)を操作したり、読み書きしたりすることにあると言えるでしょう。 JavaScript には多くのタイプの値があり、プリミティブ (基本タイプ) とオブジェクト (オブジェクト) の 2 つの主要なカテゴリに分類されます。

プリミティブ

JavaScript には 5 種類のプリミティブがあります:

1.数値。整数であろうと小数であろうと、すべての数値は数値型です。
2.文字列。文字列型。
3.ブール値。ブール型、true または false。
4.ヌル。この型には値が 1 つだけあり、null です。
5.未定義。この型には値が 1 つだけあり、未定義です。

オブジェクト

プリミティブを除き、JavaScript のその他の値はオブジェクトです。オブジェクトには次のタイプがあります:

1. JSON キーと値のペア オブジェクト。 {"名前":"ボブ"、"年齢":42} など。
2. 配列。 [1,4,5,7,9] など。
3. 機能。 function(){return true;} など。 JavaScript には 2 つの形式の関数があります: 1. 実行可能なコード ブロック、2. クラス (クラス) のコンストラクター。どのような形式であっても、関数は常にオブジェクトです。

JS にはグローバル オブジェクトが付属しています

プログラムの作成を容易にするために、JavaScript にはグローバル オブジェクトが付属しています。このオブジェクトには次の 7 つのメンバー変数があり、それらはすべてオブジェクト型:

1.Math。一連の複雑な数学演算は、Math オブジェクトのメソッドを呼び出すことで完了できます。
2.番号。一部の特別な値は、Number オブジェクトのメンバー変数にアクセスすることで取得できます。
3.配列。配列オブジェクトのコンストラクター。
4.機能。関数オブジェクトのコンストラクター。
5.日付。日付オブジェクトのコンストラクター。
6.正規表現。正規表現オブジェクトのコンストラクター。
7.エラー。エラーオブジェクトのコンストラクター。

プログラムを書く際、上記7つの変数は直接アクセスできるため、グローバルオブジェクトとしても使用できます。

不変と可変

プリミティブとオブジェクトには明確な特性があります。すべてのプリミティブは不変で、すべてのオブジェクトは変更可能です。 String 型を例にとると、String メソッドを呼び出して編集した後、JavaScript は編集結果を新しい String オブジェクトに保存します。元の String オブジェクトは一切変更されません:

var s = "test";
s.toUpperCase();//return a new String object "TEST"
console.log(s);//"test" -- original String s does not change
ログイン後にコピー

実験

JavaScript では、typeof キーワードを使用して値の型を取得できます。

数値の型を取得します:

var n = 42;
console.log(typeof n);
ログイン後にコピー

プログラムの出力結果は数値です。

文字列の型を取得します:

var s = "test";
console.log(typeof s);
ログイン後にコピー

プログラムの出力結果は文字列です。

ブール値の型を取得します:

var b = true;
console.log(typeof b);
ログイン後にコピー

プログラムの出力結果はブール値です。

null の型を取得します:

var x = null;
console.log(typeof x);
ログイン後にコピー

プログラムは null を出力するはずですが、実際にはオブジェクトが出力されます。その理由は、null 値に対して typeof 操作を使用すると、プログラムが object を返すためです。これは、JavaScript の最初のバージョンから存在するバグです。 ECMAScript 標準の開発中に、このバグを修正するかどうかについていくつかの興味深い議論がありました。最終結論は、バグを修正するとあまりにも多くの Web サイトに問題が発生するため、当面は修正されませんでした。

未定義の型を取得します:

var y = undefined;
console.log(typeof y);
ログイン後にコピー

プログラムの出力結果は未定義です。

JSON オブジェクトの型を取得します:

var j = {"name":"Bob", "age":42};
console.log(typeof j);
ログイン後にコピー

プログラムの出力結果はオブジェクトです。

配列オブジェクトの型を取得します:

var a = [2,3,5,7,11];
console.log(typeof a);
ログイン後にコピー

プログラムの出力結果はオブジェクトです。

関数オブジェクトの型を取得します。

var f = function(){return true;};
console.log(typeof f);
ログイン後にコピー

関数オブジェクトは特殊であり、typeof 演算子は結果を関数として返します。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

javascriptの分解:それが何をするのか、なぜそれが重要なのか javascriptの分解:それが何をするのか、なぜそれが重要なのか Apr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

JavaScriptの進化:現在の傾向と将来の見通し JavaScriptの進化:現在の傾向と将来の見通し Apr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptエンジン:実装の比較 JavaScriptエンジン:実装の比較 Apr 13, 2025 am 12:05 AM

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

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

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

JavaScript:Web言語の汎用性の調査 JavaScript:Web言語の汎用性の調査 Apr 11, 2025 am 12:01 AM

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

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合) next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合) Apr 11, 2025 am 08:22 AM

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

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合) next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合) Apr 11, 2025 am 08:23 AM

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

C/CからJavaScriptへ:すべてがどのように機能するか C/CからJavaScriptへ:すべてがどのように機能するか Apr 14, 2025 am 12:05 AM

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

See all articles