-
Notifications
You must be signed in to change notification settings - Fork 0
API Host ScriptObject
宿主创建动态对象的基类
Base class for host-created dynamic objects
Overview
ScriptObject 是用户状态、全局、模块和很多运行时对象的基类。宿主若要把结构化状态注入 $state,应派生它并用 Define 建立成员。
ScriptObjectis the base class for user state, globals, modules, and many runtime values. To inject structured state through$state, derive from it and define members withDefine.
Parameters:
- 构造器无参数。
Constructor has no parameters.
Returns
新动态对象;Prototype 读取其原型。
New dynamic object;
Prototypereads its prototype.
var value = new ScriptObject();
var prototype = value.Prototype;用途
检查或冻结对象,防止后续修改。
Inspect or freeze an object to prevent later mutation.
var value = new ScriptObject();
value.Frozen();
Console.WriteLine(value.IsFrozen);Parameters:
-
key
成员名。Member name.
-
value
ScriptObject或ScriptDatum。ScriptObjectorScriptDatum. -
writeable、enumerable
属性描述符。Property descriptors.
Returns
无。
None.
var state = new ScriptObject();
state.Define("Name", ScriptDatum.FromString("Aurora"));Parameters:
-
key
属性名。Property name.
-
value
要设置的ScriptObject。ScriptObjectto set.
Returns
获取值、无返回或删除是否成功。
Retrieved value, no value, or deletion success.
var value = new ScriptObject();
value.SetPropertyValue("Child", new ScriptObject());
var child = value.GetPropertyValue("Child");
var removed = value.DeletePropertyValue("Child");Parameters:
- 目标或源对象,以及可选
force/enumerableOnly标志。Target or source object plus optional
force/enumerableOnlyflags.
Returns
无。
None.
用途
复制属性描述的高级操作。
Advanced property-descriptor copying.
var source = new ScriptObject();
source.Define("Name", ScriptDatum.FromString("Aurora"));
var target = new ScriptObject();
source.CopyProperties(target);Returns
分别为深度副本、可枚举键、脚本枚举器和 AuroraScript 真值。
Deep clone, enumerable keys, script enumerator, and AuroraScript truthiness.
var value = new ScriptObject();
value.Define("Name", ScriptDatum.FromString("Aurora"));
var copy = value.DeepClone();
var keys = value.EnumerationKeys();AuroraScript.JIT 4.0.0 · Documentation Home · Repository · MIT License