算術演算子+ - * / % () 異常状況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 インストール チュートリアル
レンダリング コード - 青と黄色のリングを例に挙げます <div class="コ...
Web デザイナーの頭の中には、仕事に関連する多くの知識が詰まっている必要があります。 CSS は、...
CSS スタイルを使用して表内のフォントを垂直方向に中央揃えする方法は次のとおりです。下図のようなカ...
目次1. 脱構築とは何か? 2. 配列の分割3. 配列モードと代入モードの統一4. デフォルト値の構...
1. インストール環境コンピュータモデル: Lenovo Y471a (i5) ノートパソコンシステ...
症状Centos7 ホストに crontab タスクを設定しましたが、時間が来るとメールを実行して「...
MongoDBインストールYumを使用してインストールすることを選択する1. repoファイルを作成...
VMWareでUbuntuを再起動した後、インターネットにアクセスできなくなる問題を解決するには、次...
成果を達成する実装コードhtml <div クラス = 'ラッパー'> ...
目次1. 問題の説明2. 問題分析3. 解決策解決策1: ディレクトリを作成する解決策2: 構成ファ...
序文:サンドボックスといえば、私たちの頭には反射的に上の写真が思い浮かび、すぐに興味がわいてくるかも...
この記事では、ショッピングカートを実装するためのVue.jsフレームワークの具体的なコードを参考まで...
<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...
DockerのインストールDocker はオープンソースなので、Windows システムへのインスト...
CSS を使用する場合は、DOCTYPE (ドキュメント タイプ定義) を記述することを忘れないでく...