14
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【2023年最新】JavaScript ES13の新機能6選!コード例付きで詳しく解説します!

Last updated at Posted at 2023-07-31

もちろん、新しい記事に合わせて、全体のテキストを更新します。以下、新しい記事の内容です。


目次

  1. はじめに
  2. 配列の新メソッド: .at()
  3. 新しいオブジェクトメソッド: Object.hasOwn()
  4. モジュールのトップレベルでのawait
  5. プライベートプロパティ宣言に # の使用
  6. クラスのメンバ変数の簡単な設定
  7. 配列の末尾から要素を探す: findLast
  8. まとめ

1. はじめに

みなさん、こんにちは!JavaScriptが2023年に導入されたES13の新機能についての最新情報をお届けします。新しいメソッドや構文が追加され、開発がさらに便利になりました。以下、詳細に解説していきます。

2. 配列の新メソッド: .at()

新しい .at() メソッドを使用すると、配列から特定の要素を簡単に取得できます。

const fruits = [ 'apple', 'banana', 'cherry', 'date' ];
console.log(fruits.at(-1)); // date
console.log(fruits.at(2));  // cherry

3. 新しいオブジェクトメソッド: Object.hasOwn()

Object.hasOwn() メソッドは、オブジェクトが特定のプロパティを所有しているかをチェックします。

const book = { title: 'The Great Gatsby', author: 'F. Scott Fitzgerald' };
console.log(Object.hasOwn(book, 'title'));  // true
console.log(Object.hasOwn(book, 'publisher')); // false

4. モジュールのトップレベルでのawait

await をモジュールのトップレベルで使用できるようになりました。

const fetchData = () => {
  return new Promise((resolve) => {
    setTimeout(() => resolve('Data fetched!'), 1000);
  });
}

const data = await fetchData();
console.log(data); // Data fetched!

5. プライベートプロパティ宣言に # の使用

# を使用して、クラスのプライベートプロパティを簡単に宣言できます。

class BankAccount {
  #balance = 0;

  deposit(amount) {
    this.#balance += amount;
  }

  getBalance() {
    return this.#balance;
  }
}

const account = new BankAccount();
account.deposit(100);
console.log(account.getBalance()); // 100

6. クラスのメンバ変数の簡単な設定

クラスのメンバ変数を直感的に設定できる新しい構文が導入されました。

class Robot {
  name = 'R2-D2';
  model = 'Astromech';

  beep() {
    console.log(`${this.name} says beep beep!`);
  }
}

const robot = new Robot();
robot.beep(); // R2-D2 says beep beep!

7. 配列の末尾から要素を探す: findLast

findLast メソッドで、配列の末尾から条件に一致する要素を簡単に見つけることができます。

const numbers = [1, 2, 3, 2, 1];
const foundNumber = numbers.findLast((n) => n === 2);
console.log(foundNumber); // 2

8. まとめ

以上が、ES13で導入された新機能の解説でした。これらの機能をマスターすると、より効率的なコードが書けるようになります。JavaScriptは進化を続けており、最新の動向をキャッチアップすることが開発者にとって重要です。新しい技術を楽しみましょう!

それでは、Happy Coding!

14
19
2

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
14
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?