ホームページ  >  記事  >  ウェブフロントエンド  >  文字列の長さをチェックするときに JavaScript コードが誤動作するのはなぜですか?

文字列の長さをチェックするときに JavaScript コードが誤動作するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-01 09:25:02850ブラウズ

Why Does My JavaScript Code Misbehave When Checking String Length?

JavaScript での等価比較を理解する

JavaScript で文字列を操作する場合、等価比較がどのように機能するかを理解することが重要です。次のコード スニペットは、指定された文字列が空白であるか、9 桁以下であるか、または 10 桁以下であるかを確認することを目的としています。ただし、スニペット内の条件ステートメントは予期しない結果をもたらします。

if (str = '') {
    console.log("The string cannot be blank");
} else if (str.length <= 9) {
    console.log("The string must be at least 9 characters long");
} else if (str.length <= 10) {
    console.log("The string is long enough.");
}

入力文字列に関係なく、プログラムは一貫して「文字列の長さは少なくとも 9 文字である必要があります」と出力します。この動作は、等号比較で等号 (=) が誤って使用されていることが原因で発生します。

エラー: 代入と等号が混在しています

JavaScript では、等号 (=) ) は主に代入に使用され、等価比較には使用されません。等価比較は、二重等号 (==) または三重等号 (===) 演算子を使用して実行する必要があります。

等価比較の正しいコード:

正しいバージョンコード スニペットでは、次のように適切な等価演算子を使用する必要があります。

if (str === '') {
    console.log("The string cannot be blank");
} else if (str.length <= 9) {
    console.log("The string must be at least 9 characters long");
} else if (str.length <= 10) {
    console.log("The string is long enough.");
}

修正されたコードでは、文字列の長さをチェックします。正しい演算子を使用し、文字列の内容に基づいて異なるメッセージを出力するという期待どおりの動作を提供します。

以上が文字列の長さをチェックするときに JavaScript コードが誤動作するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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