From bb6babca8f206615d4e246457cd54d21bb3bc5a4 Mon Sep 17 00:00:00 2001 From: zhangenming <282126346@qq.com> Date: Mon, 19 Aug 2024 16:25:01 +0800 Subject: [PATCH] perf( runtime-core): use `apply` to avoid spreading. (#5985) --- packages/runtime-core/src/compat/global.ts | 6 ++---- packages/runtime-core/src/compat/instanceEventEmitter.ts | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/runtime-core/src/compat/global.ts b/packages/runtime-core/src/compat/global.ts index 5356ce790d7..edc57436a56 100644 --- a/packages/runtime-core/src/compat/global.ts +++ b/packages/runtime-core/src/compat/global.ts @@ -622,11 +622,9 @@ function defineReactive(obj: any, key: string, val: any) { if (isObject(val) && !isReactive(val) && !patched.has(val)) { const reactiveVal = reactive(val) if (isArray(val)) { - methodsToPatch.forEach(m => { - // @ts-expect-error + methodsToPatch.forEach((m: any) => { val[m] = (...args: any[]) => { - // @ts-expect-error - Array.prototype[m].call(reactiveVal, ...args) + Array.prototype[m].apply(reactiveVal, args) } }) } else { diff --git a/packages/runtime-core/src/compat/instanceEventEmitter.ts b/packages/runtime-core/src/compat/instanceEventEmitter.ts index 630df1cfe7f..cdf2d798864 100644 --- a/packages/runtime-core/src/compat/instanceEventEmitter.ts +++ b/packages/runtime-core/src/compat/instanceEventEmitter.ts @@ -53,7 +53,7 @@ export function once( ): ComponentPublicInstance | null { const wrapped = (...args: any[]) => { off(instance, event, wrapped) - fn.call(instance.proxy, ...args) + fn.apply(instance.proxy, args) } wrapped.fn = fn on(instance, event, wrapped)