PS:「+」と「 - 」の両方の単項演算子、二項演算子も。
:まず、私たちは、これらの結果、以下の質問が何であるかを見
たときのx =の'1'の時、 X-; X -1-; + X-; -x; ++ +1X-; typeof演算(X- + 1); typeof演算(X- -1); typeof演算(+X-); typeof演算( -X-); typeof演算(++X-は); 結果は、各どのくらいですか? 答え: X+ +1 //」11'の X. 1- //0 + X //1。 -X- //-1 ++ X //2 typeof演算(Xの+ 1)//'文字列' typeof演算(1-X)。//'数' typeof演算(+ X) // '数' typeof演算(-x) // '数' typeof演算(++ x)は// '数'
一つの元の加算(+)
一つ元加算演算子は、デジタルオペランド(またはNaN)を変換し、変換された数値を返します。オペランド自体は数ある場合は、直接この番号を返します。
1 // => 1:自分自身にとの動作の数は、直接この番号を返します +を'1' // => 1:数値を文字列に変換 + ' - 1' @ => -1:文字列デジタルに変換
単項マイナス( - )
場合「 - 」単項演算子として使用され、デジタルオペランドを変換する必要があり、その後、演算結果の符号を変化させるであろう。
-1 // => -1:オペランド自体の直接演算結果の符号を変更 -'1「@ => -1:文字列はデジタルに変換され、次いで、演算結果の符号を変える -'- 1」// => 1:数字の文字列を変換し、演算結果の符号を変化させます
二つの元の加算(+)
二つの数の追加を行うために、2つの元の加算演算子「+」も、文字列の連結を行うことができます。
2つのオペランドが数値であるとき、または文字列があるとき、結果は明らかであろう。他の場合では、しかしながら、必要な型変換のいくつかを持って、オペレータの動作は、変換の結果の種類に依存します。プラスオペランドが文字列またはオブジェクトに文字列がある場合、もう一方のオペランドは、連結操作文字列を追加して、文字列に変換される変換ルール優先文字列の連結、。どちらのオペランドが紐状(糸状)である場合、二つのオペランドは、算術加え、続いて、デジタル(またはのNaN 3)に変換されます。
ここではいくつかの栗は、以下のとおりです。
+ 1 @ => 2:追加 '1' + '1' @ => '11':接続文字列 + 1 '1' // 文字列へのデジタル変換後の文字列:=> '11'接続 1 + {} // => '1 [オブジェクトのオブジェクト]。':文字列が接続された後、オブジェクトが文字列を変換 trueに + trueに // => 2:デジタル加算器にブール値を行った後、 1 + NULL // = > 1:ヌル0の後添加を行うに変換 。1 +不定// =>のNaN:行うには、変換後の不定添加のNaN
一緒に使用プラス演算子と数値と文字列は、動作シーケンスの結合の追加を検討する必要がある場合には、特別な注意が必要です。すなわち、演算結果は、例えば、オペレータの操作の順序に依存して、あります。
1 + 1 + '1'; // => '21' 1 +(1 + '1')。// => '111'
最初の行は、何括弧を持たない「+」演算子、左から右に有する結合ように計算、演算結果、および接続ストリングのための2つの最初のディジタル加算器。2行目、括弧内の動作の順序を変更する:1とデジタル接続文字列、新しい列と新しい文字列を生成し、番号1は、最終結果を生成するために再度接続されています。
二つの元減算( - )
場合「 - 」バイナリ演算子として使用され、次に減算デジタルオペランドを変換するために必要である、とします。
1-0は、 // => 1:減算 '1'- 0 @ => 1:デジタルに減算文字列の後に ' 1 ' - ' 0 ' // => 1:デジタル文字列の後に引き算
インクリメント(++)
「+」演算子は決して文字列の連結は、それは常にオペランド1によると、デジタルに変換されることに注意してください。ノー表現++ X X = X + 1つの合計まったく同じ。
VAR X = '1' ; VARの Y = X + 1; // =>」11' :接続文字列 のvar Z = X ++; // => 2:1の文字列によってデジタルに
要約:
いくつかの演算子は、JavaScriptの暗黙の型変換で行います。単項演算子は、「+」、「 - 」、「++」、バイナリ演算子「 - 」の文字オペランドがある場合には、暗黙のオペランドは、「+」の特別デジタル、二項演算子に変換され、文字列、それはさらに、文字列オペランドに変換されます。
+ X '' // 同等の文字列(X) + X // 当量数(X)
ここに私の番号は公衆が私達の注意に歓迎されている、私たちは一緒に勉強し、一緒に進行します
参考記事リンクします。https://www.javazhiyin.com/11742.html