pub(crate) fn arr_push(
it: &mut Interp,
t: Value,
a: &[Value],
) -> Result<Value, Value>Expand description
push/pop/shift/unshift は仕様上ジェネリックメソッドで、length +
添字プロパティを持つだけの非配列 array-like オブジェクトへの .call() でも
機能すべきだが、以前は this_objref で得た ObjRef が ObjKind::Array で
なければ何もせず 0/undefined を返す静かな破壊バグだった(slice/join
等の読み取り専用メソッドで修正済みの同型バグの、書き込み系での見落とし)。
実配列は高速パス(Vec 直接操作)、それ以外は length+添字プロパティの
読み書きにフォールバックする。