Aspect | Without NAN | With NAN |
Function declaration | class MyClass : public ObjectWrap {
....
static Handle ToString(const Arguments& args);
....
} | class MyClass : public ObjectWrap {
....
static NAN_METHOD(ToString);
....
} |
Function definition | Handle
MyClass::ToString(const Arguments& args)
{
HandleScope scope;
....
} |
NAN_METHOD(MyClass::ToString)
{
NanScope();
....
} |
Return a value | return scope.Close(result); | NanReturnValue(result); |
Return undefined | return Undefined(); | NanReturnUndefined(); |
Throw an error | return ThrowException(
Exception::Error(
String::New("Error text..."))); | return NanThrowError("Error text..."); |
New v8 string literal | String::NewSymbol("my text") | NanNew("my text") |