ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript では「1」1 が「11」に等しいのに、「1」 - 1 が 0 に等しいのはなぜですか?

JavaScript では「1」1 が「11」に等しいのに、「1」 - 1 が 0 に等しいのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 02:27:03956ブラウズ

Why does

JavaScript における連結と減算の違いを理解する

JavaScript での文字列と数値の間のプラス ( ) 演算子とマイナス (-) 演算子の処理異なるため、しばしば混乱が生じます。この動作を明確にするために、2 つの例を詳しく見てみましょう。

console.log("1" + 1); // Output: "11"
console.log("1" - 1); // Output: 0

文字列連結 ( )

文字列 ("1") と文字列の間でプラス演算子を使用する場合数値 (1) の場合、JavaScript は文字列の連結を実行します。この場合、数値を文字列 (「1」) に変換し、既存の文字列 (「1」) に追加します。その結果、出力は「11」になります。

数値減算 ( -)

ただし、マイナス演算子を使用する場合、JavaScript は数値演算を優先します。文字列に対して減算を実行できないため、減算を実行する前に 2 番目の「1」(文字列) を暗黙的に数値に変換します。したがって、JavaScript は数値 1 から 1 を減算し、出力は 0 になります。

補足:

JavaScript では、プラス演算子をオーバーロードして次のいずれかを実行できます。オペランドのデータ型に応じて、文字列の連結または数値の加算。ただし、マイナス演算子は数値の減算にのみ使用されるため、文字列を操作するときの動作は異なります。

以上がJavaScript では「1」1 が「11」に等しいのに、「1」 - 1 が 0 に等しいのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。