[解決済み] Object.isと===の比較
2022-04-27 12:44:28
質問
この比較を使用したコード例を偶然見つけました。
var someVar = 0;
Object.is(false, someVar); //Returns false
知っている
false == 0
になります。
true
というわけで
===
.
どのように
Object.is
とは異なり
===
?
解決方法は?
===
は、JavaScriptでは厳密比較演算子と呼ばれます。
Object.is
と厳密な比較演算子の動作は全く同じですが
NaN
と
+0/-0
.
MDNより。
Object.is()
メソッドによって同等であることとは異なります。===
演算子を使用します。この演算子は===
演算子(および==
演算子も同様に、数値 -0 と +0 を等しい値として扱いNumber.NaN
とは等しくないのでNaN
.
以下のコードは、以下の違いを強調しています。
===
と
Object.is()
.
console.log(+0 === -0); //true
console.log(Object.is(+0, -0)); //false
console.log(NaN === NaN); // false
console.log(Object.is(NaN, NaN)); //true
console.log(Number.NaN === Number.NaN); // false
console.log(Object.is(Number.NaN, Number.NaN)); // true
console.log(NaN === Number.NaN); // false
console.log(Object.is(NaN, Number.NaN)); // true
<イグ
他の例もご覧いただけます。 ここで .
備考
:
Object.is
は ECMAScript 6 の提案の一部であり、まだ広くサポートされていません(例えば、Internet Explorer のどのバージョンでも、他のブラウザの多くの古いバージョンでもサポートされていません)。しかし、上記のリンクにある非ES6ブラウザ用のポリフィルを使用することができます。
関連
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
[解決済み】ReactJSでエラー発生 Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
[解決済み] Access-Control-Allow-Originヘッダーはどのように機能するのですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] .prop() vs .attr()
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] モバイルブラウザの検出
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vueでルートネスティングを実装する例
-
Vueのフォームイベントのデータバインディングの説明
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み] テスト
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
OSSアップロードエラーを解決する: net::ERR_SSL_PROTOCOL_ERROR