Open
Description
π Search Terms
String.prototype.apply
I found #33173, but the issue was closed without a reason. The problem still persists.
π Version & Regression Information
At least since v3.3.3 according to the Playground.
β― Playground Link
π» Code
const u8 = new Uint8Array([0x41,0x42,0x43]);
String.fromCharCode.apply(null, u8);
π Actual behavior
Argument of type 'Uint8Array<ArrayBuffer>' is not assignable to parameter of type 'number[]'.
Type 'Uint8Array<ArrayBuffer>' is missing the following properties from type 'number[]': pop, push, concat, shift, and 3 more.(2345)
π Expected behavior
no error
Additional information about the issue
This code works fine at runtime. ECMAScript spec does not require a genuine array at all. ArrayLike is sufficient.
Workarounds such as
String.fromCharCode.apply(null, Array.from(u8));
will impose runtime overheads.