Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
末尾のカンマ (「最後のカンマ」と呼ばれることもあります) は、JavaScript のコードに新しい要素や引数、プロパティを追加するときに役立ちます。新しいプロパティを追加するとき、最終行ですでに末尾のカンマを使用していれば、最終行を修正することなく新しい行を追加できます。これによって、バージョン管理の差分がより洗練され、コード編集の煩雑さを軽減できます。
JavaScript は、当初から配列リテラルで末尾のカンマを使用できました。その後でオブジェクトリテラルで、さらに最近では、関数の引数の末尾のカンマが使用できるようになりました。
しかし、JSON では末尾のカンマを許容していません。
JavaScript は配列の末尾のカンマを無視します。
2 つ以上の末尾のカンマがある場合、省略 (または穴) が作られます。穴がある配列は疎らな配列と呼ばれます (密集した配列は穴がありません)。たとえば、Array.prototype.forEach() や Array.prototype.map() で配列を反復処理するとき、穴はスキップされます。
ECMAScript 5 から、オブジェクトリテラルでも末尾のカンマを使用できるようになりました。
ECMAScript 2017 では、関数の引数リストで末尾のカンマが使用できるようになりました。
次の 2 つの関数定義はともに有効で等しいものです。末尾のカンマは、関数の length プロパティや arguments オブジェクトに影響を与えません。
末尾のカンマは、クラスやオブジェクトのメソッド定義でも使用できます。
次の 2 つの関数呼び出しはともに有効で等しいものです。
関数の定義や呼び出しにおいて引数がカンマしかないと、SyntaxError が発生します。さらに、残余引数を使用しているときは、末尾のカンマは許可されません。
末尾のカンマは、構造分解の左辺でも使用できます。
また、残余要素で使用すると、SyntaxError が発生します。
オブジェクトリテラルの末尾のカンマは、ECMAScript 5 から導入されました。JSON は ES5 以前の JavaScript 構文に基づいているため、末尾のカンマを使用できません。
どちらの行も SyntaxError が発生します。
正しく JSON を解釈するには、カンマを省略してください。
末尾のカンマは名前付きインポートや名前付きエクスポートでも有効です。
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年6月12日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.