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() を再利用して返す。