質問: null;`をコメントアウトしましたが、記述しているときの動作と変わりがないような気がします。valueという変数をあらかじめ初期化しているような感じがしますが、なぜnullを代入するのかがよく分かりません。 4. 1と2のコードはJavaScript逆引きレシピ 第2版のP423とP424から引用しています。 --- 以上、ご確認のほどよろしくお願い申し上げます。
回答: `let value = null;`をコメントアウトすると、`document.cookie.split(';')`の結果が空であったり`kv[0] === name`にならない場合に宣言されていない`value`が`return`されてしまいます。 そういう場合に備えて`value`を宣言して初期化しておく必要が有りますが、上記の理由からその初期値は`getCookie`を試みたけれど該当する情報はなかったことを示すべきでしょう。 そういう理由で`null`であるのだと考えられます。