プログラミング入門(JavaScript) 関数に渡された引数をそのまま別の関数に渡したいとき

やりたいこと
hogeという関数では、nameとcodeという二つの引数を受け取って何かの処理をします。
そして、その二つの引数をそのままsaveCacheという関数に渡したいとします。
その場合は、apply を使うことでうまくいきます。
const hoge = function(name, code){
// 何かの処理
saveCache.apply(null, arguments)
}
const saveCache = function(name, code){
console.log(name)
console.log(code)
}
hoge('tamibouz', '001')
arguments には、引数を配列風のオブジェクトにしたものが入ります。
applyを使わない場合は、その配列風のオブジェクトがそのまま渡るのでうまくいきません。
const hoge = function(name, code){
// 何かの処理
saveCache(arguments)
}
const saveCache = function(name, code){
console.log(name) //[Arguments] { '0': 'tamibouz', '1': '001' } になってしまう
console.log(code) //undefined になってしまう
}
hoge('tamibouz', '001')
ディスカッション
コメント一覧
まだ、コメントがありません