Могут ли операторы равенства JS (например, ===) работать с типами встраивания? - PullRequest
2 голосов
/ 10 июля 2020

Предположим, у меня есть некоторые привязки Emscripten, например:

class_<MyNode>("MyNode")
    .constructor<>()
    .function("getParentNode", &MyNode::parentNode, allow_raw_pointers());

Когда я запускаю следующий код в JS, я получаю false, но я хочу, чтобы это было true:

node.getParentNode() === node.getParentNode()

Я предполагаю, что это связано с тем, что Emscripten оборачивает результат каждого вызова функции в новый объект JS, хотя объекты JS указывают на один и тот же базовый объект C ++.

То есть есть ли в Emscripten какой-то трюк для JS === или ==, чтобы вернуть истину с привязанными типами, которые имеют те же базовые значения необработанного указателя?

...