x[key]
x[key]はブラケット記法と呼ばれます。
keyは変数として扱われ、その値がプロパティ名として使用されます。
動的なプロパティアクセスが可能
const key = 'name';
const x = { name: 'Alice', age: 25 };
console.log(x[key]); // 'Alice' (key の値が 'name' なので x['name'] が評価されます)
x.key
x.keyはドット記法と呼ばれます。
keyは文字列として扱われ、その名前のプロパティにアクセスします。
静的なプロパティアクセスのみが可能
const x = { name: 'Alice', age: 25 };
console.log(x.name); // 'Alice'