Незаменимая замена старой ToObject()
- MaybeLocal<Object> v8::Value::ToObject(Local<Context> context)
;использование Nan
конечно возможно, но не обязательно. Обратите внимание, что .ToLocalChecked
вызовет сбой, если было сгенерировано исключение и отсутствует значение результата, это может произойти, например, если вы вызываете эту функцию на null
или undefined
. Тип результата MaybeLocal
предназначен для того, чтобы сделать очевидным, что код встроенного кода должен проверять это и обрабатывать исключения соответствующим образом.
Точно так же, не устаревшие версии Has()
- это две, которые принимают контекстпараметры: Maybe<bool> v8::Object::Has(Local<Context> context, Local<Value> key)
и Maybe<bool> v8::Object::Has(Local<Context> context, uint32_t index)
. Maybe<bool>
, которые они возвращают, - ничто (.IsNothing() == true
), если было сгенерировано исключение, в противном случае это bool
с результатом.