2025年11月10日 星期一

關於 'arguments' 變數修改 rest parameters 的問題

 關於 'arguments' 變數修改 rest parameters 的問題

前言

  在先前的 關於 'arguments' 變數搭配 rest parameters 的問題 提到 rest parameters ,如果對 rest parameters 進行修改會有什麼行為?在此把學習的過程做個紀錄。


內容

  範例如下

function call( ...arg ){
  console.log( arguments.length);//2
  //
  arg[ 0 ] = 1234;
  console.log( arguments[0] );//1
  //
  arguments[ 1 ] = 9999;
  console.log( arg[1] );//2

}
//
call( 1 , 2 );


範例分別示範從 rest parameters  修改與從 'arguments' 變數修改,可以看不論是哪一個結果都不會發生一同修改的狀況!所以當採用 rest parameters 傳入引數, 'arguments' 變數採用的是複製一份 rest parameters  ,而不是同一個變數。


參考資料

[ developer.mozilla.org ] Rest parameters


想關文章與資料

關於 'arguments' 變數搭配 rest parameters 的問題

關於修改 'arguments' 變數

沒有留言:

張貼留言