javascript アロー関数でエラー「Uncaught ReferenceError: arguments is not defined」が発生した場合

javascript アロー関数でエラー「Uncaught ReferenceError: arguments is not defined」が発生した場合

javascriptで、アロー関数を使用時に、エラー「Uncaught ReferenceError: arguments is not defined」が発生した場合の原因と対処法。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 103.0.5060.134

エラー内容

以下のコードで、エラーが発生します。

const hoge = (x, y, z) => {
  let foo = arguments[0]
} 

hoge(1, 2, 3);

エラー全文( chrome 103.0.5060.134 )

Uncaught ReferenceError: arguments is not defined

画像

firefox102でも、同じエラーとなります。

Uncaught ReferenceError: arguments is not defined

画像

原因

アロー関数は「arguments」を使用することはできません。

対処法

普通の関数を使用するか、

function hoge(x, y, z){
  let foo = arguments[0];
} 

hoge(1, 2, 3);

無名関数を使用します。

const hoge = function (x, y, z) {
  let foo = arguments[0];
}

hoge(1, 2, 3);