私はC++オブジェクトをラップしてnode::ObjectWrap
おり、次のように定義されたいくつかのメソッドがあります:
auto tpl = NanNew<v8::FunctionTemplate>(New);
tpl->SetClassName(NanNew("className"));
tpl->InstanceTemplate()->SetInternalFieldCount(4);
NanSetPrototypeTemplate(tpl, NanNew("method1") , NanNew<v8::FunctionTemplate>(Method1) , v8::ReadOnly);
NanSetPrototypeTemplate(tpl, NanNew("method2") , NanNew<v8::FunctionTemplate>(Method2), v8::ReadOnly);
NanSetPrototypeTemplate(tpl, NanNew("method3") , NanNew<v8::FunctionTemplate>(Method3) , v8::ReadOnly);
NanSetPrototypeTemplate(tpl, NanNew("method4") , NanNew<v8::FunctionTemplate>(Method4), v8::ReadOnly);
すべてが期待どおりに機能し、次の方法で JS でオブジェクトのインスタンスを作成できます。
var classInstance = new className();
すべてのメソッドは正常に機能しますが、関数をログに記録しようとすると:
console.log(classInstance);
私は次のようなものを見ることを期待しています:
{
method1 : [Native Function],
method2 : [Native Function],
method3 : [Native Function],
method4 : [Native Function]
}
しかし、私が得るものは次のとおりです。
{}
これらを可視化する(別名列挙可能にする)方法について何か考えはありますか?