算術演算子+ - * / % () 異常状況1: 特殊値リテラルを含む操作
5/無限大=0 5%無限大=5 無限大%5=NaN 無限大+5=無限大 無限大 / 無限大 = NaN 無限大 - 無限大 = NAN 無限大 % 無限大 = NAN 特殊値演算は仕事では使われず、実用上も意味がありませんが、面接などで遭遇した場合に備えて理解しておく必要があります。 異常な状況 2: 他の種類のデータが数学演算に関与します。文字列を含む + 演算 (記号の片側にのみ文字がある場合も含む): + 記号はハイフンになり、前後を接続して文字列全体を形成します。 例えば: var a = 3 - "36" % 5 + "2" - 2 コンソールログ(a) var b = "36" % 5 コンソールログ(b) var c = 3 - "36" % 5 + "2" コンソール.log(c) 出力:
暗黙的な変換: 文字列を含む + 演算を除き、他のすべてのデータ型が数学演算に参加する場合、コンピューターは演算に参加する前に他のデータ型を数値型に自動的に変換します。このプロセスでは、parseInt() や Number() などのメソッドを使用する必要はありません。プロセスは秘密裏に実行されます。これは暗黙的な変換プロセスです。 暗黙的な変換 その他のデータ型は暗黙的に数値型に変換されます。
比較演算子関係演算子とも呼ばれます。比較演算子はオペランドを比較し、ブール値を返します。演算の結果は true または false のいずれかになります。
異常ケース1: 比較演算に特殊な値が関与する
無限大 == 無限大 -> 真 無限大 === 無限大 -> 真 無限大 > 無限大 -> 偽 無限大 >= 無限大 -> True 異常な状況 2: 他のデータ型が比較演算に参加する (文字列間の比較を除く)他のデータ型も比較のために暗黙的に数値に変換されます。 “123”→123 真→1 偽→0 null→0 未定義→NaN “”→0 “abc”→NaN nullの判定は特別です。nullと0が判定される場合、等価性は偽、>=と<=は真となります。 null == 未定義 -> True 異常事態3: 文字列と文字列の比較暗黙的に数値に変換されることはありません。ただし、2 つの文字列は Unicode 順に比較されます。 文字コードの順序: 前から後ろへ 0-9、AZ、az、前の文字が後ろの文字より小さい 比較する場合、2 つの文字列の長さは重要ではありません。比較は最初の文字から始まり、サイズが決定されるまで続きます。それ以上の比較は行われません。 論理演算子論理演算子はブール値の間でよく使用されます。オペランドが両方ともブール値の場合、戻り値もブール値になります。
異常事態
ブール値への暗黙的な変換のルール
非ブール値に使用すると、戻り値は非ブール値になる可能性があります。実際、この操作は非常に簡単です。
論理演算子の演算順序包括的な演算順序: NOT、AND、OR 代入演算子
単項演算子
++ または -- 記号は、変数の前または後に記述できます。位置が異なると、プログラムの実行結果が異なる場合があります。 ++ を例に挙げます。
例1 var a = 3; var b = a++; var c = ++a; コンソールログ(a,b,c) 出力:
例2 出力: 操作の優先順位優先順位は最高から最低まで:
例 var a = 4; var num = 1 * (2 + 3) && a++ || 5 > 6 && 7 < 8 || !9; コンソール.log(数値) 出力:
要約する以上で、JavaScript の演算子計算でエラーになりやすい部分についてまとめました。JavaScript の演算子計算に関するより詳しい内容は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.18 のインストールと設定方法のグラフィックチュートリアル
>>: Linux での mysql-5.7.28 インストール チュートリアル
パート 1 HTML <html> -- 開始タグ<ヘッド>ウェブページ上の...
この記事では、Vueでドラッグ可能なコンポーネントとドラッグ可能なコンポーネントを実装する方法を参考...
以前、開発で頻繁に pip ダウンロードを使用する必要がありました。pip ソースを国産ソースに変更...
序文MySQL インデックスで最も重要なデータ構造は B+ ツリーなので、まずは B+ ツリーの原理...
1. ネットワークマシンでは、デフォルトのcentosyumソースを使用します [root@kole...
序文ルーティングの管理は、ほとんどのシングルページ アプリケーションにとって不可欠な機能です。 Vu...
SSHFS の機能: FUSE(Linux向けの最高のユーザー空間ファイルシステムフレームワーク)を...
目次1. リストインターフェースとその他のモジュールの表示処理2. 従来のインターフェースコンポーネ...
オープンソース データベース アーキテクチャの設計原則01. 技術の選択最も使い慣れていて、最大限に...
1. cuda10.1をダウンロードします。 NVIDIA 公式ウェブサイト リンク: https:...
目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...
1. システムにログインし、ディレクトリに入ります: cd /etc/sysconfig/netwo...
目次予備的注釈問題の再現データ削除の原則データの再利用どの操作がデータホールの原因になりますか?表領...
ソースコードを通じて Linux に最新の安定バージョンの MySQL をインストールします: my...
CentOS 8をインストールした後、ネットワークを再起動すると次のエラーが表示されますエラーメッセ...