0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JavaScriptのオブジェクトリテラルの簡易構文を学ぶ

0
Last updated at Posted at 2026-09-27

はじめに

JavaScriptのオブジェクトリテラルには、記述を簡潔にしたり、柔軟にプロパティを定義したりするための構文があります。
この記事では、次の3つを紹介します。

  • 簡易プロパティ構文
  • 簡易メソッド構文
  • 算出プロパティ名

簡易プロパティ構文

以下のようなオブジェクトリテラルを定義したとします。

const user = {
    name: name,
    age: age
};

console.log(user);
// { name: '田中', age: 25 }

プロパティ名と変数名が同じ場合は、name: nameをnameと省略することができます。

const name = '田中';
const age = 25;

const user = { name, age };

プロパティ名と変数名が異なる場合は、省略できませんので注意してください。

const userName = '田中';
const userAge = 25;

const user = {
    name: userName,
    age: userAge
};

console.log(user);
// { name: '田中', age: 25 }

簡易メソッド構文

オブジェクトのメソッドは、functionと:を書かずに定義できます。

const user = {
    name: '田中',
    greet() {
        return `こんにちは、${this.name}さん`;
    }
};

console.log(user.greet());
// こんにちは、田中さん

簡易メソッド構文を使わずに書くと、次のようになります。

const user = {
    name: '田中',
    greet: function () {
        return `こんにちは、${this.name}さん`;
    }
};

console.log(user.greet());
// こんにちは、田中さん

算出プロパティ名

[]で式を囲むと、その評価結果をプロパティ名に使えます。

const prefix = 'user';
const methodName = 'printUserInfo';

const user = {
    // 式の評価結果をプロパティ名にする。
    [prefix + 'Id']: '0001',
    [prefix + 'Name']: '田中',
    // メソッド名にも算出プロパティ名を使える。
    [methodName]() {
        console.log(this.userId);
        console.log(this.userName);
    }
};

user.printUserInfo();
// 0001
// 田中

まとめ

  • プロパティ名と変数名が同じ場合、{ name: name }を{ name }と省略できる
  • オブジェクトのメソッドを、greet() {}のように簡潔に定義できる
  • []で式を囲むと、その評価結果をプロパティ名として利用できる

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?