目次
JavaScriptの種類
暗黙的な変換
比较运算
包装类型
类型检测
typeof
instanceof
ホームページ ウェブフロントエンド jsチュートリアル JavaScript タイプ間の比較を共有する

JavaScript タイプ間の比較を共有する

Jun 26, 2017 pm 01:26 PM
javascript js 比較する タイプ

JavaScriptの種類

プリミティブタイプ:

  • number

  • string

  • boolean

  • null

  • 未定義

オブジェクトタイプ:

  • オブジェクト

  • 関数

  • 配列

  • 日付

  • ...

暗黙的な変換

+/-演算+/- 运算

  • "37" + 7 = "377"

  • "37" - 7 = 30

== 运算

以下为true:

  • "1.23" == 1.23

  • 0 == false

  • null == undefined

比较运算

===严格等于

  • 类型不同,返回false

  • 类型相同,以下为true:

  • null === null

  • undefine === null

  • NaN != NaN

  • new Object != new Obejct

==等于

  • 类型相同,同===

  • 类型不同,尝试类型转换比较

  • null == undefined

  • number == string 转number

  • boolean == ? 转number

  • Object == number | string 尝试对象转换为基本类型

  • 其他:false

包装类型

为了便于操作基本类型值,Js提供了基本类型的自动包装功能,每单读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,并在调用后自动销毁。

由于基本包装类型和基本类型的含义并不一样,会导致typeof等操作产生不同的结果,不推荐显示实例化基本数据类型

var a = "string";
alert(a.length);    //6

a.t = 3;
alert(a.t);         //undefined
ログイン後にコピー

类型检测

typeof

以下为true:

typeof 100 === “number”
typeof true === “boolean”
typeof function () {} === “function”
typeof(undefined) ) === “undefined”
typeof(new Object() ) === “object”
typeof( [1, 2] ) === “object”
typeof(NaN ) === “number”   //NaN也为number
typeof(null) === “object”
ログイン後にコピー

instanceof

obj instanceof Object

"37" + 7 = "377 "

"37" - 7 = 30

  • == 演算

  • 以下は true:

  • "1.23" == 1.23

  • 0 == false

🎜null == 未定義🎜🎜🎜🎜比較演算🎜🎜===🎜🎜🎜🎜異なる型、falseを返す🎜🎜🎜🎜同じ型、以下は真です: 🎜🎜 🎜🎜null === null🎜🎜🎜🎜undefine === null🎜🎜🎜🎜NaN != NaN🎜🎜🎜🎜new Object != new Objct🎜🎜🎜🎜== は🎜🎜と等しい🎜🎜同じ型、===と同じ🎜🎜🎜🎜型が異なる、比較するための型変換を試行🎜🎜🎜🎜null == 未定義🎜🎜🎜🎜number == string to数値🎜🎜🎜🎜boolean == ? 数値を変換します🎜🎜🎜🎜オブジェクト == 数値 | 文字列 オブジェクトを基本型に変換してみます🎜🎜🎜🎜その他: false🎜🎜🎜🎜基本型値の操作、Js は自動基本型パッケージング機能を提供します。基本型値が読み取られるたびに、対応する基本パッケージング型のオブジェクトがバックグラウンドで作成され、呼び出し後に自動的に破棄されます。 🎜🎜基本パッケージング型と基本型の意味が異なるため、typeof などの操作は異なる結果を生成します。インスタンス化された基本データ型を表示することはお勧めできません🎜
[1, 2] instanceof Array === true
new Object() instanceof Array === false
ログイン後にコピー
🎜型検出🎜🎜typeof🎜🎜次のことが当てはまります:🎜
Object.prototype.toString.apply([]); === “[object Array]”;
Object.prototype.toString.apply(function(){}); === “[object Function]”;
Object.prototype.toString.apply(null); === “[object Null]”
Object.prototype.toString.apply(undefined); === “[object Undefined]”

// IE6/7/8 Object.prototype.toString.apply(null) 返回”[object Object]”
ログイン後にコピー
🎜instanceof🎜🎜objinstanceofObjectは、オブジェクト間の判定に適したプロトタイプチェーンを判定に使用します。左側にオブジェクト、右側に関数オブジェクトまたは関数コンストラクターが必要です。 🎜🎜次のとおりです: 🎜rrreee🎜Object.prototype.toString.apply()🎜rrreee🎜 Summary🎜🎜🎜🎜typeof🎜 基本的な型と関数の検出に適しており、null に遭遇すると失敗します。 🎜🎜🎜🎜[[Class]]🎜組み込みオブジェクトとプリミティブ型に適した、{}.toString を通じて取得します (IE678 などは [object Object] を返します)。 🎜🎜🎜🎜instanceof🎜 はカスタム オブジェクトに適していますが、ネイティブ オブジェクトの検出にも使用できます。異なる iframe とウィンドウの間で検出する場合は失敗します。 🎜🎜🎜

以上がJavaScript タイプ間の比較を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Xiaomi Mi 14 ProでNFC機能を有効にする方法は? Xiaomi Mi 14 ProでNFC機能を有効にする方法は? Mar 19, 2024 pm 02:28 PM

現在、携帯電話の高性能化・高機能化が進み、ほとんどの携帯電話にはモバイル決済や本人認証などに便利なNFC機能が搭載されています。ただし、一部の Xiaomi 14Pro ユーザーは、NFC 機能を有効にする方法がわからないかもしれません。次に詳しくご紹介していきます。 Xiaomi 14ProでNFC機能を有効にする方法は?ステップ 1: 携帯電話の設定メニューを開きます。ステップ 2: 「接続と共有」または「ワイヤレスとネットワーク」オプションを見つけてクリックします。ステップ 3: [接続と共有] または [ワイヤレスとネットワーク] メニューで、[NFC と支払い] を見つけてクリックします。ステップ 4: 「NFC スイッチ」を見つけてクリックします。通常、デフォルトはオフです。ステップ 5: NFC スイッチ ページで、スイッチ ボタンをクリックしてオンに切り替えます。

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

WPS Word で行間を設定して文書をきれいにする方法 WPS Word で行間を設定して文書をきれいにする方法 Mar 20, 2024 pm 04:30 PM

弊社でよく使っているオフィスソフトはWPSですが、長文の編集ではフォントが小さすぎて見づらい場合が多いので、フォントや文書全体を調整します。たとえば、文書の行間を調整すると、文書全体が非常に鮮明になります。友達全員にこの操作手順を覚えてもらうことをお勧めします。今日はそれを共有します。具体的な操作手順は次のとおりです。ぜひ見てください。調整したいWPSテキストファイルを開き、[スタート]メニューの段落設定ツールバーに小さな行間設定アイコン(図の赤丸部分)が表示されます。 2. 行間隔設定の右下隅にある小さな逆三角形をクリックすると、対応する行間隔の値が表示され、行間隔の 1 ~ 3 倍を選択できます (図の矢印で示すように)。 3. または、段落を右クリックすると、段落が表示されます。

Huawei Pocket2でTikTokをリモートで使用するにはどうすればよいですか? Huawei Pocket2でTikTokをリモートで使用するにはどうすればよいですか? Mar 18, 2024 pm 03:00 PM

画面の空中スライドは、Huawei mate60シリーズで高く評価されているHuaweiの機能であり、この機能は、携帯電話のレーザーセンサーとフロントカメラの3D深度カメラを使用して、画面を必要としない一連の機能を完了します。画面をタッチする機能は、たとえば、離れた場所から TikTok を使用することですが、Huawei Pocket 2 では、離れた場所から TikTok をどのように使用すればよいでしょうか? Huawei Pocket2で空中からスクリーンショットを撮るにはどうすればよいですか? 1. Huawei Pocket2 の設定を開きます。 2. [アクセシビリティ] を選択します。 3. クリックして [Smart Perception] を開きます。 4. [Air Swipe Screen]、[Air Screenshot]、[Air Press] スイッチをオンにするだけです。 5.使用するときは、画面から20〜40CM離れて立ち、手のひらを開いて、手のひらアイコンが画面に表示されるまで待つ必要があります。

iPhone 16 ProのCAD図面が公開され、2番目の新しいボタンが追加 iPhone 16 ProのCAD図面が公開され、2番目の新しいボタンが追加 Mar 09, 2024 pm 09:07 PM

iPhone 16 ProのCADファイルが公開されており、そのデザインは以前の噂と一致しています。昨年の秋、iPhone 15 Proにはアクションボタンが追加されましたが、今秋、Appleはハードウェアのサイズに若干の調整を行う予定のようです。キャプチャボタンの追加 噂によると、iPhone 16 Proには2つ目の新しいボタンが追加される可能性があり、昨年に続き2年連続で新しいボタンが追加されることになります。新しいキャプチャボタンはiPhone 16 Proの右下に設置されると噂されており、このデザインによりカメラ制御がより便利になり、アクションボタンも他の機能に使用できるようになると予想されています。このボタンは単なるシャッターボタンではなくなります。カメラに関しては現行iPより

C言語とPHPの違いと比較分析 C言語とPHPの違いと比較分析 Mar 20, 2024 am 08:54 AM

C 言語と PHP の違いと比較分析 C 言語と PHP はどちらも一般的なプログラミング言語ですが、多くの点で明らかな違いがあります。この記事では、C 言語と PHP を比較分析し、具体的なコード例を通して両者の違いを説明します。 1. 構文と使用法: C 言語: C 言語はプロセス指向のプログラミング言語であり、主にシステムレベルのプログラミングと組み込み開発に使用されます。 C 言語の構文は比較的単純で低レベルであり、メモリを直接操作でき、効率的かつ柔軟です。 C言語はプログラマのプログラムの完全性を重視します

TrendX Research Institute: Merlin Chain プロジェクトの分析と生態学的インベントリ TrendX Research Institute: Merlin Chain プロジェクトの分析と生態学的インベントリ Mar 24, 2024 am 09:01 AM

3月2日の統計によると、ビットコインの第2層ネットワークMerlinChainのTVL総額は30億米ドルに達した。このうち、ビットコイン環境資産は90.83%を占め、15億9600万米ドル相当のBTCと4億400万米ドル相当のBRC-20資産が含まれている。先月、マーリンチェーンの合計 TVL はステーキング活動の開始から 14 日以内に 19 億 7,000 万米ドルに達し、昨年 11 月に開始され、同じく最新で同様に目を引くブラストを上回りました。 2月26日、MerlinChainエコシステムにおけるNFTの総額は4億2,000万米ドルを超え、イーサリアムに次いでNFT市場価値が最も高いパブリックチェーンプロジェクトとなった。プロジェクトの紹介 MerlinChain は OKX サポートです

ビデオ マトリックス アカウントを作成するにはどうすればよいですか?どのようなタイプのマトリックスアカウントがありますか? ビデオ マトリックス アカウントを作成するにはどうすればよいですか?どのようなタイプのマトリックスアカウントがありますか? Mar 21, 2024 pm 04:57 PM

ショートビデオプラットフォームの人気に伴い、ビデオマトリックスアカウントマーケティングが新たなマーケティング手法となっています。企業や個人は、さまざまなプラットフォームで複数のアカウントを作成および管理することで、ブランドのプロモーション、ファンの増加、製品の販売などの目標を達成できます。この記事では、ビデオ マトリックス アカウントの効果的な使用方法について説明し、さまざまな種類のビデオ マトリックス アカウントを紹介します。 1. ビデオ マトリックス アカウントを作成するにはどうすればよいですか?優れたビデオ マトリックス アカウントを作成するには、次の手順に従う必要があります。 まず、ブランド コミュニケーション、ファンの増加、製品の販売など、ビデオ マトリックス アカウントの目標を明確にする必要があります。明確な目標を持つことは、それに応じた戦略を立てるのに役立ちます。 2. プラットフォームの選択: 対象視聴者に基づいて、適切なショートビデオ プラットフォームを選択します。現在主流のショートビデオプラットフォームには、Douyin、Kuaishou、Huoshan Videoなどが含まれます。

See all articles