モジュール 3 · レッスン 2 / 4コース内の 10/32~10 min
モジュールのレッスン (2/4)
オブジェクト: キーと値のマップ
JS の オブジェクト は、キー → 値 ペアの順序付けされていないコレクションです。
キーは文字列 (または Symbol)、値は数値、文字列、
配列、その他のオブジェクト、関数。これは、最もよく使用されるデータ構造です。
言語: ドメイン内のすべての「レコード」は通常、オブジェクトになります。
JS
const utente = {
nome: 'Anna',
eta: 28,
attivo: true,
ruoli: ['admin', 'editor'],
};読み取りプロパティ: ドットと括弧
同等の表記法が 2 つあります。
JS
utente.nome; // 'Anna' (dot — the normal form)
utente['nome']; // 'Anna' (bracket — equivalent)
// Brackets are MANDATORY when:
// 1) the key is not a valid identifier
const tag = { 'codice-fiscale': 'ABC123' };
tag['codice-fiscale']; // OK
// tag.codice-fiscale; // syntax error
// 2) the key is computed (variable/expression)
const campo = 'eta';
utente[campo]; // 28欠落 プロパティは、エラーなしで undefined を返します。
JS
utente.telefono; // undefined追加、変更、削除
JS
const u = { nome: 'Anna' };
u.eta = 28; // adds
u.nome = 'Anna B.'; // modifies
delete u.eta; // removes the propertydelete はキーワードです。これはまれな使用例であることが判明します。
そのキーを使用せずに 新しい オブジェクトを生成したい場合があります (これを見ていきます)
スプレッドあり)。
略記: 変数のような名前のキー
キー名が変数名と一致する場合は、重複を省略できます。
JS
const nome = 'Anna';
const eta = 28;
const u1 = { nome: nome, eta: eta }; // explicit form
const u2 = { nome, eta }; // shorthand, equivalent物件の存在確認
3 つのオプションを優先順に示します。
JS
'nome' in utente; // true ← in operator
utente.nome !== undefined; // true ← works almost always
Object.hasOwn(utente, 'nome'); // true ← modern, safe試してみてください
運動#js.m3.l2.e1
試行回数: 0読み込み中…
オブジェクト user = { name: 'Sara', age: 22 } を作成し、true に設定された 'active' プロパティを追加して、最後の式としてオブジェクトを返します。
エディターを読み込み中…
ヒントを表示
ドット表記を使用して、後でプロパティを追加できます。
3 回の試行後に解決策が利用可能になります
復習演習
運動#js.m3.l2.e2
試行回数: 0読み込み中…
`product = { code: 'A1',price: 9.9 }` と文字列 `key = 'price'` を指定すると、括弧表記を使用して価格を返します (最後の式は 9.9 と評価される必要があります)。
エディターを読み込み中…
ヒントを表示
括弧を使用すると、変数をキーとして渡すことができます。
3 回の試行後に解決策が利用可能になります