mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-24 18:51:13 +08:00
feat: Function.prototype[Symbol.hasInstance] 绑定与 bound 函数构造语义
@@hasInstance 按 OrdinaryHasInstance 实现(非可调用 this 返回 false、 prototype 非对象抛 TypeError、bound 链递归到最内层 target); new boundFn() 解包 [[BoundTargetFunction]] 链后转发构造:绑定实参前置、 新对象原型取 target.prototype、new.target 替换为最内层 target。
This commit is contained in:
@@ -15,6 +15,7 @@ pub fn bind_function(core: &Arc<KernelCore>, session: &KernelSession, global: &m
|
||||
apply: oxide_builtins::function::function_apply::<crate::vm::Vm> as *const (),
|
||||
bind: oxide_builtins::function::function_bind::<crate::vm::Vm> as *const (),
|
||||
to_string: oxide_builtins::function::function_to_string::<crate::vm::Vm> as *const (),
|
||||
has_instance: oxide_builtins::function::function_symbol_has_instance::<crate::vm::Vm> as *const (),
|
||||
};
|
||||
session.builtin_world().bind_function_methods(
|
||||
&function_methods,
|
||||
|
||||
Reference in New Issue
Block a user