Skip to main content

str_iterator

Function str_iterator 

Source
pub(crate) fn str_iterator(
    _: &mut Interp,
    t: Value,
    _a: &[Value],
) -> Result<Value, Value>
Expand description

String.prototype[Symbol.iterator]()(ES2015)が丸ごと欠落していた。呼び出すと 「メソッドが存在しない」TypeError になっていた(for...of 自体は文字列を直接 走査する内部高速経路で動くため気づかれなかった)。コードポイント単位(サロゲート ペアを1文字として扱う。Rust の char が既にスカラー値単位のため自然に対応できる)で 走査する Iterator オブジェクトを、Array.prototype[Symbol.iterator] 等と同じ make_iterator() を再利用して返す。