1. ホーム
  2. javascript

[解決済み] nullのプロパティ'length'を読み取れない (javascript)

2022-03-13 12:22:34

質問

デバッグ中に、この行で 'length' null エラーが発生します。 本の指示通りに書いているのですが、なぜエラーになるのか理解できません。 ありがとうございます。)

if (capital.length < 1) {

( 以下、リクエストに応じた完全なコードです。すみません)

<script type="text/javascript">
var capital = window.prompt("What is the capital of Missouri?","")

if (capital.length < 1) {
    document.getElementById("firstdiv").innerHTML="Sorry you don't feel like playing.<br /> The Capital of Missouri is Jefferson City.";
}
else {
    if (!window.confirm("Is that your final answer?")){ return true;

        document.getElementById("firstdiv").innerHTML = "The capital of Missouri is: <bold>" + capital + "</bold>, so says you.";
    }
    else{
        return false;
    }
}
</script> 

解決方法は?

適切なテストは

if (capital != null && capital.length < 1) {

これにより capital 常に 長さチェックを行った場合、非NULLとなります。

また、コメントにあるように capitalnull は初期化しないので