在下面的示例中,两个外部声明都使用稍有不同的ReasonmL函数结构来实现 same 功能。
外部声明样式是否会影响超出ReasonmL函数结构的任何内容(例如性能)?另外,ReasonmL是否具有“建议的”外部声明“样式”?
类型声明
type dom;
type element;
外部声明样式1
[@bs.val]
external dom: dom = "document";
[@bs.send.pipe : dom]
external get_by_id: string => element = "getElementById";
外部声明样式2
[@bs.scope "document"] [@bs.val]
external by_id: string => element = "getElementById";
ReasonmL函数调用
let tag1 = dom |> get_by_id("main");
let tag2 = by_id("main")