ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript がプラス ( ) 演算子を使用して加算する代わりに連結するのはなぜですか?

JavaScript がプラス ( ) 演算子を使用して加算する代わりに連結するのはなぜですか?

Linda Hamilton
リリース: 2024-10-28 23:39:30
オリジナル
914 人が閲覧しました

Why Does JavaScript Concatenate Instead of Adding with the Plus ( ) Operator?

JavaScript における Plus ( ) 演算子による連結と合計

JavaScript で発生する一般的な問題は、変数の代わりに変数が予期せず連結されることです。プラス ( ) 演算子を使用する場合の意図した合計。たとえば、i が 1 に初期化されていると仮定して次のコードを実行すると、

divID = "question-" + i+1;
ログイン後にコピー

得られる結果は、「question-2」ではなく「question-11」です。

これこの現象は、plus ( ) 演算子が連結と加算の両方を処理するために発生します。異なるタイプのオペランドに適用すると、一方のオペランドが文字列の場合、演算子は連結を優先します。したがって、操作は左から右に処理されます。

  1. "question-" i: "question-" は文字列であるため、連結が発生し、結果として "question-1" が生成されます。
  2. "question-1" 1: 再度、文字列オペランドによって連結が発生し、"question-11" が生成されます。

必要な合計を取得するには、数値式を括弧で囲みます。

var divID = "question-" + (i+1);
ログイン後にコピー

これにより、i と 1 の加算が最初に実行され、結果 (2) が「question-」と連結されることが保証されます。結果は、意図したとおり「質問 2」です。

この動作は、JavaScript だけでなく、さまざまなプログラミング言語でよく見られます。特に複数の種類のオペランドや演算子を扱う場合、演算の実行順序が重要であることを覚えておくことが重要です。かっこを使用すると、評価の順序が明示的に制御され、予期しない結果が発生するのを防ぎます。

以上がJavaScript がプラス ( ) 演算子を使用して加算する代わりに連結するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート