演算子


22.03.14
第7章演算子
1つ以上の式に対して算術、割当て、比較、論理、タイプ、および指数演算を実行することによって、値の演算子を作成します.
演算の対象は、被演算子と呼ばれ、「値」で計算できる式でなければなりません.
演算子と演算子を組み合わせた演算子式の値から計算できる式.
被演算子:「値」という名詞の役割/演算子:「新しい値の作成」という動詞の役割
7.1算術演算子
  • 被演算子について数学的計算を行い、新しい数値を生成する.
  • 算術不可の場合はNANを返します.
  • 1)二項演算子
    2つの被演算子を算術演算し,数値を得た.破砕効果はありません.
    ※副手効果(副作用)は何ですか?被演算子の値を変更します.
    いつも新しい価値を創造します.
    +、-、*、/、%(残り)
    2)単項演算子
    演算子を演算して数値を取得します.++(増加)と--(減少)は、演算子の値を変更するための割り当て効果があります.
    黙認配分を行う.
    増減演算子は位置に意味があります.被演算子の右側に位置するのは先割当て後増減であり,被演算子の左側に位置するのは先増減後割当てである.
    できるだけ使わないほうが可読性にいいかもしれません.
    「+」単項演算子は、被演算子には何の効果もありませんが、非数値タイプの被演算子に使用される場合は、数値タイプに変換されて戻ります.
    数値タイプに変換された値が生成されて返されるため、「なし」は効果を付与します.
    ex.
    + true ;//1
    + false ;//0
    予測が困難な点があるため、変数の値を+/-演算子よりも付与方式で増やしたり減らしたりすることが理解しやすく、誤りのないコードを生成することができる.
    「-」単項演算子は、演算子の記号を反転させる値「+」を返します.単項演算子と同等です.副手効果は「ない」
    ex.
    - true ;//-1
    - '10' ;//-10
    3)文字列接続演算子
    1つ以上の被演算子が文字列である場合、演算子「+」は文字列接続演算子として使用されます.それ以外の場合は算術演算子で操作します.
    JavaScriptエンジンで黙々とタイプを自動変換することもできます.
    これを暗黙タイプ変換(Implicit強制)またはタイプ強制変換(Type強制)と呼ぶ.
    7.2割付演算子
    右の演算子の評価結果を左の変数に割り当てます.
    左側の変数に値を割り当てるため、補助効果があります.
    代入文は式文です.したがって、値として評価できます.
    割り当て文を他の変数に割り当てることもできます.チェーン割り当て可能(右から左)
    7.3比較演算子
    左と右の被演算子を比較し、結果をブール値に戻します.
    主にif文やfor文などの制御文の条件式に使用されます.
    1)ピア/照合比較演算子
    同等比較演算子と一致(厳密な等化(?)演算子は、左と右の演算子が同じ値であるかどうかを比較することによって、ブール値を返します.
    Butは、比較的厳格さが違います.対等比較演算子は比較的緩やかで、一致は比較的厳格である.
    ==/!= 同等/浮動,=========================================================一致/不一致
    同等比較演算子左と右の被演算子を比較する場合は、まず暗黙的なタイプで一致タイプを変換し、次にタイプが同じかどうかを比較します.
    同等比較演算子は、予測しにくい結果を生成するために使用しないほうがよい.
    一致比較(====)演算子を使用します.
    一致比較(===)演算子は、タイプが同じで、値が同じ場合にtrueを返します.
    サイレント・タイプ変換を行わずに値を比較します.そのため予測しやすい.
  • ★注意NAN★NAN==NAN;//->false自体と一致しない一意の値.
  • 注意
  • 数字0.正0と負0を比較してtrue
  • を返す
    2)サイズ関係比較演算子
    被演算子のサイズを比較してブール値を返します.副手効果X
    >, <, >= , <=
    7.4三項条件演算子
    条件式の評価結果は、返される値を決定します.破砕効果はありません.
    条件式条件式がtrueの場合に返される値:条件式がfalseの場合に返される値
    疑問符の前の最初の被演算子は条件式で、ブール型値として評価される式です.
    条件式の評価結果がブール値でない場合は、ブール値に変換されます.
    3つの条件演算子を使用する式は、条件文です.if ... else文を使用しても同様の処理が可能です.
    しかし、最大の違いは、3つの条件演算子式を値として使用できるにもかかわらずif...else文は値のように使用できません.
    これは式ではなく「ドア」なので.
    条件に基づいてどの値を決定する必要があるかは、3つの条件演算子式に役立ちます.
    複数のドアが条件通りに実行される場合if...elseコンサルティングの毒性はもっと良い.
    7.5論理演算子
    右項と左項の被演算子(否定論理演算子、右項の被演算子)について論理演算を行います.
    ||論理と&論理と、!否定(NOT)->すべて無効です.
    論理否定演算子(!)常にブール値を返します.ただし、被演算子は必ずしもブール値ではありません.
    被演算子がブール値でない場合、デフォルトのタイプはブール値に変換されます.
    論理式と演算子式の計算結果は、ブール値ではない場合があります.
    論理和(|)または論理乗(&&)演算子式は、常に2つの被演算子のいずれかとして計算されます.
    7.6カンマ演算子
    左の被演算子から順に被演算子を評価し、最後の被演算子の評価が終了すると、最後の被演算子の評価結果を返します.
    7.7グループ化演算子
    被演算子を括弧("(")")で囲むグループ化演算子は、まず自分の被演算子式を評価します.
    したがって、演算子の優先度を調整できます.演算子の優先度が最も高い.必ずかっこを先に!
    7.8 type of演算子
    被演算子のデータ型を文字列として返します.nullは返されません.関数の場合はfunctionが返されます.
    type of演算子でnull値を計算すると、「object」が返されます.これがエラーです.
    したがって、値がnullタイプであるかどうかを確認する場合は、type ofではなく一致演算子(===)を使用します.
    宣言されていない識別子をtypeofとして演算すると、参照エラーではなく定義されていない識別子が返されます.
    7.9指数演算子
    左の被演算子を下(base)、右の被演算子を指数(指数)に2乗繰り返し、数値を返します.
    指数演算子の前はMathです.powメソッドを使用しました.
    他の演算子と同様に、割り当て演算子とともに使用できます.
    指数演算子は、例外演算子の中で最も優先度が高い.
    7.10その他の演算子
    ?./??/delete/new/instanceof/inなど多くの演算子がありますが、後で深く勉強します.
    7.11演算子の浮動小数点効果
    割り当て効果のある演算子は、1)割り当て演算子(=)2)増減演算子(+/-)3)delete演算子です.
    ※副手効果は?被演算子の「値」を変更し、他のコードに影響します.
    7.12演算子優先度
    複数の演算子の文を実行する場合、優先度が高いほど優先的に実行される文が多い(p.91表参照)
    依存記憶と比較して、優先度が最も高いグループ演算子を使用して、優先度を明示的に調整します.
    7.13演算子連結順序
    演算子のどちら(左または右)から評価を実行するかを示す順序(p.92表参照)