#3927·babel

[feature-request][discussion][babel-plugin-transform-es2015-parameters] 减少转换后函数的字节大小 (T6892)

作者: babel-bot创建于 2015年12月27日更新于 2026年9月2日
标签area: perfhelp wanted

最初由 @fabiomcosta 制作的发行 说明

目前的休息转换为函数增加了一串代码来避免函数正体被V8贬低.

函数 foo(a,.bar) {
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

// 改为:

函数 foo( a) {
用于 (var  len1 = 参数.長; bar = array ( len1 > 1)?  len1 - 1:0;  key1 = 1;  key1 <  len1;  key1++) {
bar [ key1 - s] = 参数 [ key1];
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

但是,由于作为`应用'函数的第二个参数而使用的论点不会使函数机构失去最佳效果,因此我们可以改变为:

函数切片参数 () {
为(var s = this, len1 = 参数. long, args = Array ( len1 > s?) len1 - s: 0), key1 = s; key1 <  len1; key1++){
args [ key1- s] = 参数 [ key1];
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
返回参数;
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
函数 foo( a) {
var bar = schectArgumes.apply(1,参数);
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

在使用休息参数的多种函数中,这可能大大地缩小字节大小。 让我知道你们的想法.