コード A、これは OK で、ログに記録します[ 1, 2, 3 ]
function fn() {
console.log(...arguments);
}
fn([1, 2, 3]);
コード B、これは次のエラーで失敗します。SyntaxError: Unexpected token ...
また、ラップ...arguments
して()
も役に立ちません。
function fn() {
var a = ...arguments;
}
fn([1, 2, 3]);
どちらの場合も、RHS
ルックアップがあると思います。(または他の関数)に渡すことは問題ないが、変数に代入することは問題ないのはなぜ...arguments
ですかconsole.log
?
PS。これは実際のコードでは決して成り立たないこと、またはこれに対する他のより良い解決策があることを私は知っています。私の質問は純粋に理論的/概念的なものであり、異なる動作が発生する理由を理解することに限定されています。