从ES6开始弱化arguments的作用
作者:代码拾荒时间:2026-10-26 10:23:06浏览:252
ES6通过引入箭头函数和形参默认值,刻意弱化了arguments对象与形参的映射关系。在严格模式及ES6新语法下,修改arguments不再影响实参,反之亦然。本文解析这一变化背后的机制及严格模式下的限制。
从ES6开始弱化arguments的作用
主要通过以下几种手段实现:
- 箭头函数没有arguments这个2.2 隐式参数
- 第二,函数形参可以设置默认值。
- 第三,利用数组解构方式处理参数。
function test(...arr) {
console.log(arr) // [[1, 3], 'c'] 是一个二维数组
}
test([1, 3], 'c')
实际上,从ES5引入严格模式起,就已经开始限制对的操作,禁止其拥有与形参的共享及映射关系。
function test(a = 100) {
arguments[0] = 10
console.log(a, arguments[0])
}
test(1)
在上述代码中,输出结果为1和10。可以看到,修改并未改变变量a的值。然而,如果取消形参的默认值设置,打印结果将变为10和10。这表明ES6语法刻意屏蔽了对形参的映射作用。
当然,如果在ES5环境中使用严格模式,同样会屏蔽的作用。
function test3(a) {
"use strict"
arguments[0] = 10
console.log(a, arguments[0])
}
test3(1)
甚至在严格模式下,尝试访问arguments.callee也会直接报错。

以上就是从ES6开始弱化arguments的作用的详细内容,更多关于ES6弱化arguments的资料请关注本站其它相关文章!
作者最新文章
5款主流JS在线运行工具对比:CodePen、JSFiddle与StackBlitz怎么选
2026-11-05 17:04:04
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
JavaScript函数定义的三种方式:声明、表达式与箭头函数
2026-11-05 13:50:55
