院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

存在しない配列へのアクセス

let data = [[11,12],[21,22],[31,32]]
console.log(data[-1]) //undefined
console.log(data[-1][1]) // Cannot read property '1' of undefined

存在しない配列へアクセスするとundefinedになる
しかし、2次元配列だとエラーになってしまう。
だから存在しないかもしれない配列にアクセスするとき(ループで端っこ超えそうなとき)は下記のように

if (data[x] && data[x][y]){
  処理
}

前の条件がtrueのときのみ後ろのが評価されるからエラーにならないで実行できる