x[key]とx.keyの違い

JS

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'