検索
ホームページウェブフロントエンドjsチュートリアルJavaScriptの6つのデータ型と注意点_JavaScriptのスキルについて簡単に解説

js の 6 つの一般的なデータ型: String 型、Null 型、Number 型、Boolean 型、および Object 型。

1. typeof

に関する注意事項

データ型に関して言えば、演算子 typeof について言及することは避けられません。注:

1. Typeof はメソッドではなく演算子です。ただし、オブジェクトのデータ型を取得するには typeof() を使用することがよくあります。

2. null の typeof は object (null は空のオブジェクト参照であるため)、関数の typeof は function

コードをコピーします コードは次のとおりです。

alert(typeof null); //Return object
functionデモ(){
alert('demo');
}
alert(typeofdemo); //return function

2. 各種データ型のオブジェクト変数の初期値を設定する

最初に Object 型のオブジェクト変数に何を割り当てるか分からない場合は、var Demon={} を使用しないでください。

コードをコピー コードは次のとおりです:

var d2=null;
d2 ={' キー':"クソ"};

var d3='';//String default
var d4=0; //Number 型の初期値は 0 に設定されます
var d5=null; //初期のデフォルト値が設定されますオブジェクトタイプの場合

3. unfineed と null の違いと注意点

1. 「==」を使用して比較すると、比較は値であるため、それらは等しくなります

2. それらを区別するには 2 つの方法があります (その中心はデータ型を比較す​​ることです)

1) typeof を使用して区別します

2) 一致する "===" を使用します: 比較されるのは値とデータ型であり、それらがすべて同じである場合にのみ true が返されます

コードをコピーします コードは次のとおりです。 >alert(typeof unknown == typeof null); //false
alert(unknown === null); //true




4. Boolean に関する注意点

1. true と 1 の比較、および false と 0 の比較は同じです (これは「== 比較」です)。これは、データ型変換が内部で実装され、true が 1 に変換されるためです。 js 内部 データ型の自動変換が多数あり、誰もが注意を払う必要があります。さらに多くのことについては後で説明します。ただし、データ型が等しくないため、「===」を使用することは等しくありません。 2. Boolean への変換を表示するには、Boolean() メソッドを使用します。注意する必要があるのは、さまざまなデータ型、いつ true に変換されるか、いつ false に変換されるかです。

1) 文字列型。空の文字列でない限り、true に変換されます

2) 数値型、0 以外であれば、負の数値でも true に変換されます

3) オブジェクト型は、null 型でない限り true に変換されます

4) 未定義の型は false に変換されます

私はデモンストレーションはしませんので、ご自身で試してみてください。

3. (***) if() ステートメント内の () はブール関数

を呼び出します。

5. 数値型に関する注意事項

1. Float 型は正確な計算を実行できません

コードをコピー

コードは次のとおりです:alert(0.1 0.2);//Return 0.300000000000000004
2.科学表記法計算をサポートします

3. NaN(非数)
1) var d=0/0; 注: js ではエラーは報告されませんが、NaN

が返されます。

2) Number.NaN を通じて取得できます

3) NaN と任意のオブジェクト間の演算は NaN を返します

4) isNaN() は NaN かどうかを判断します

コードをコピー

コードは次のとおりです:

alert(isNaN(NaN));//true
alert(isNaN(12));//false
alert(isNaN('123'));//false: ため文字列型の数値は自動的に数値に変換できます
alert(isNaN('lew'));//true
alert(isNaN(false));//(*)false: bool 値は変換できるため数値に変換され、true は 1 に変化し、false は 0 に変化します

5) isNaN() の内部実行原理: オブジェクトにも同じことが当てはまります。実装原理: 首相はオブジェクトの valueOf() メソッドを呼び出し、数値に変換できる場合は直接判定し、数値に変換できない場合は再度 toString() メソッドを呼び出し、戻り値をテストします。 。

valueOf() は内部で toObject() メソッドを呼び出します。2 つのメソッドの内部実行原理は次のとおりです。

JavaScriptの6つのデータ型と注意点_JavaScriptのスキルについて簡単に解説

コードをコピー コードは次のとおりです:
var box={
//ボックス オブジェクトの toString() メソッド
toString:function(){
toString() メソッド (ボックス);//123 内部的には、alert() は最初にオブジェクトの valueOf() を呼び出し、次に toString() メソッドを呼び出します。



6) 他のデータ型を数値型に変換します

3 つの関数が含まれています: Number(): すべてのデータ型を変換できます; parseInt() と parseFloat() は文字列のみを変換します。

コードをコピー

コードは次のとおりです:alert(Number('123')) ;// 123alert(Number('0234'));//234alert(Number(true));//1
alert(Number(null));//(** )0

//上記を除いて、その他はすべて NaN
alert(Number(unknown))//NaN

を返します

Number() の内部実装原則: isNaN() と同様に、valueOf() が最初に呼び出され、次に toString() が呼び出されます。 。したがって、パフォーマンスは比較的悪いと想像できます。 。したがって、変換されるオブジェクトが文字列である限り、内部で型を判断する必要がないため、parseInt() または parseFloat() を呼び出します。

parseInt() と parseFloat() 呼び出しの注意: 数値である最初の文字から始まり、数値である最初の文字の前の数値で終わると、文字列のこの部分は数値に変換されます

コードをコピーします

コードは次のとおりです:alert(parseInt('123leb')) ;// 123alert(parseInt('123leb345'));//123alert(parseInt('len234'));//NaN


parseInt()のパラメータがfloat型の場合、数値の整数部分のみが取得されます

コードをコピー

コードは次のとおりです。alert(parseInt(56.12));/ /56

6. 文字列型
1) (*重要*) ECMAScript では、文字列は不変です。文字列は作成後に変更されません。

値が割り当てられている文字列変数を変更するには、まず変数内の文字列を破棄し、次に新しい値を含む文字列を変数に入力します。

コードをコピー

コードは次のとおりです:var d='hello';d= d 'shit';//実行プロセス: まず 'hello' に値を代入し、次に d の文字列をクリアし、文字列 'hello' と 'shit' を連結してから、d 変数に値を代入します。 (そのため、文字列の値は作成後に変更されません)

2) toString()メソッドは他のデータ型をString型に変換します。ただし、null または未定義を操作すると、エラーが報告されます。

3) ただし、String() メソッドも toString() の効果を実現できますが、null および unknown に対して動作する可能性があります。
内部原則: 最初に toString() を呼び出し、文字列に変換できれば結果を直接返します。いいえ、null か未定義かを判断し、'null' または 'unknown' を返します

要約: 変数を null または未定義にすることができないことがわかっている場合は、String() よりもパフォーマンスの高い toString() を使用してください。String() は内部で判断する必要があるため、パフォーマンスが低下します。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python vs. JavaScript:学習曲線と使いやすさPython vs. JavaScript:学習曲線と使いやすさApr 16, 2025 am 12:12 AM

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

Python vs. JavaScript:コミュニティ、ライブラリ、リソースPython vs. JavaScript:コミュニティ、ライブラリ、リソースApr 15, 2025 am 12:16 AM

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

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は、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

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

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

ブラウザを超えて:現実世界のJavaScriptブラウザを超えて:現実世界のJavaScriptApr 12, 2025 am 12:06 AM

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

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

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

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

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

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)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境