Expand description
JS ランタイム値の表現。
ヒープオブジェクトは Rc<RefCell<Obj>> で表現する(参照カウントGC)。
循環参照はリークするが、ページ遷移ごとに JsRuntime を破棄するため許容する。
Structs§
- Accessor
- アクセサ記述子(get/set の一方または両方)。
- FnvHasher
- FNV-1a ハッシャー。
IndexMap(propsの列挙順序保持のためBTreeMapから 移行。ES仕様のOrdinaryOwnPropertyKeysが要求する挿入順保持のため)の デフォルトハッシャーRandomStateはstdのOS乱数取得に依存しており、default-features = falseにしたno_stdビルドでは提供されない (IndexMap::new()が使えずビルド不能になっていた)。プロパティ名の ハッシュ化にセキュリティ上のDoS耐性(乱数シードによるハッシュ衝突 攻撃対策)は不要なため、決定的な軽量ハッシュ関数で足りる。 - Function
Data - ユーザー定義関数のデータ。
- GenState
- Generator の状態(遅延評価 / replay 方式)。
- Job
- マイクロタスク(then 反応の遅延実行単位)。
- Obj
- ヒープオブジェクト本体。名前付きプロパティ + プロトタイプ + 種別。
- Promise
State - Property
Attributes - Reaction
- settle 時に消費する then 反応。
Enums§
- GenCompletion
- Generator の完了・再開種別。
- ObjKind
- オブジェクトの種別。Plain 以外は内部表現を持つ。
- Promise
Status - Promise の状態。
- Value
- JS の値。プリミティブ + オブジェクト参照。
Functions§
- date_
to_ 🔒iso_ string_ repr Dateの文字列表現(ISO 8601、UTC)。builtins.rsのformat_iso/decompose_msと 同じ Howard Hinnant 方式の変換ロジックだが、value.rsはbuiltins.rsに依存できない (下位レイヤのため)ので、ごく小さい純粋関数として独立に複製する (kernel::timerにもある3つ目の複製。詳細は spec/walkthrough.md 2026-07-07 参照)。- fmt_
number - JS の数値表示規則(整数は小数点を付けない、NaN/Infinity 対応)。