'v8::Value::ToNumber': 已被宣布弃用

'v8::Value::ToNumber': was declared deprecated

我正在尝试访问一个已知对象并获取其属性之一作为 Number

不幸的是,下面的代码...

Isolate *isolate = args.GetIsolate();

Local<Object> opts = args[0]->ToObject();

Local<Number> mode = opts->Get(String::NewFromUtf8(isolate, "mode"))->ToNumber();

发出以下警告:

warning C4996: 'v8::Value::ToNumber': was declared deprecated
....node-gyp.5.0\include\node\v8.h(9578): note: see declaration of 'v8::Value::ToNumber'

在 v8.h 中,我注意到 ToNumber 上的评论:"Use maybe version"。我试图将它转换为 Maybe 但我还没有能够正确编译。使用 Maybe 和获取 Number 对象的正确方法是什么?

v8.h 中的 "Use maybe version" 评论似乎让我误入歧途。弃用通知似乎适用于缺少隔离的方法重载。如果你通过隔离...

->ToNumber(isolate);

它在没有警告的情况下工作。