算術演算子+ - * / % () 異常状況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 インストール チュートリアル
例を通して、MySQL のデータ テーブル送信のクエリが遅い問題の解決策を共有しました。最近、コード...
1. まずデータベースサーバーを停止しますサービスmysqld停止2.vim /etc/my.cnf...
JS、CSSについてCS: ...上部のスタイルシートCSS式を避ける外部JS、CSSの使用JSと...
序文仮想通貨の狂気的な投機により、マイニングウイルスは犯罪者が最も頻繁に使用する攻撃方法の 1 つに...
序文SQL の言語分類には主に以下の種類があります。 DDLデータ定義言語作成、削除、変更データ定義...
これがないと、ブラウザはページをレンダリングするときに Quirks モードを使用することがわかって...
次のケースでは、これまでに学んだプロトタイプチェーンの知識ポイントを確認します。 // コンストラク...
序文配列は特別な種類のオブジェクトです。 js には実際の配列はなく、オブジェクトを使用して配列をシ...
インデックスの簡単な紹介は次のとおりです。インデックスを追加する目的は、データベース クエリのパフォ...
1. 問題の紹介ユーザー テーブルに 3 つのフィールドが含まれているシナリオを想定します。 id、...
進捗バーを実装するためのJavaScriptの具体的なコードは参考までに。具体的な内容は次のとおりで...
1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...
はじめに: プロジェクトを開発するために、サーバーに MySql データベース サーバーを展開し、ロ...
目次1. 一括更新の方法コンソール出力2. フックがルーティングパラメータを取得する方法実行効果1....
今日、MySQL をインストールすると次のエラー メッセージが表示されます。 かなり長い時間ネットで...