gpt4 book ai didi

ocaml - Reasonml 记录与 JS 对象

转载 作者:行者123 更新时间:2023-12-01 12:52:44 26 4
gpt4 key购买 nike

假设我定义了以下类型:

type queueParams = {
durable: bool
};

class type amqpChannelT = [@bs] {
pub assertQueue: string => queueParams => Js.Promise.t(unit);
};

然后调用以下内容:

channel##assertQueue("exampleQueue", {"durable": bool});

结果:

This has type:
{. "durable": bool}
But somewhere wanted:
queueParams (defined as

我怎样才能传递正确类型的东西?为什么我传递的东西不是记录?那个点符号的含义是什么?

最佳答案

ReasonML 对这两者的解释不同:

let jsObject = {"durable": true};
let reasonRecord = {durable: true};

基本上,用双引号括起键是特殊 Javascript 对象类型 Js.t('a) 的简写表示法 - 目前已弃用。

您可以play around with an example here 。请注意转换为 Javascript 时这两种类型的处理方式不同。

在此处阅读有关已弃用语法的更多信息:

https://bucklescript.github.io/docs/en/object-deprecated

关于ocaml - Reasonml 记录与 JS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51224846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com