feat: 对象字面量 spread({...obj} 展开可枚举自有属性)

This commit is contained in:
2026-08-08 11:24:09 +08:00
parent ab979dc47b
commit 6c29515624
10 changed files with 251 additions and 63 deletions
+2 -1
View File
@@ -14,7 +14,8 @@ fn is_integer_index(key: &str) -> bool {
}
/// 收集对象全部自身属性(shape 链),按规范顺序排列:整数索引在前升序,其余保持插入序。
pub(crate) fn walk_own_keys<H: VmHost>(vm: &H, obj: &JsObject) -> Vec<(u32, u32)> {
/// 数组元素区(整数下标)不在此列,调用方需另行枚举。
pub fn walk_own_keys<H: VmHost>(vm: &H, obj: &JsObject) -> Vec<(u32, u32)> {
let mut keys: Vec<(u32, u32)> = Vec::new();
let shape_id = obj.shape_id();
let mut pos: u32 = 0;