Skip to main content

arr_join

Function arr_join 

Source
pub(crate) fn arr_join(
    it: &mut Interp,
    t: Value,
    a: &[Value],
) -> Result<Value, Value>
Expand description

Array.prototype.join は仕様上ジェネリックメソッド(this の内部 [[Class]] を 見ず length + 添字プロパティだけを見る)だが、以前は this_itemsObjKind::Array 以外は無条件で空 Vec)を直接使っていたため、 Array.prototype.join.call({0:'a',1:'b',length:2}, '-') のような array-like への 適用が常に "" を返す静かな破壊バグだった。