>>459
>>460が書いてるように3行目は分割代入なんだけど
特にオブジェクトデストラクチャリングと呼ばれる機能
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#object_destructuring

3行目でaとa1という変数が定義される
それ以前はa1という変数が定義されてないからundefined

とりあえずstrictモードを使いましょう