Mirth 3.3 验证函数总是创建类型 "Object"
Mirth 3.3 validate function always creates type "Object"
升级到 Mirth 3.3 时,我发现
validate(isEmptyString, fallback); //returns isEmptyString if not empty, or fallback if it is empty
已更改。在 3.3 之前,validate()
总是返回一个字符串。现在有了 3.3,它 returns 一个对象。这在以下代码中是有问题的:
var procedure = validate("", ""); // used to return an empty string. Now returns an object.
var description = "This is the description";
var output = procedure || description;
因为 procedure
是一个对象,它永远不会 returns 虚假,因此 output = procedure
总是。
我也尝试过使用上述逻辑中的 toString()
将 procedure
转换为字符串,但无法转换。
在上面的代码中,执行此类检查的新标准是什么?在 3.3 之前,上面的 ||
会非常有效。有没有办法强制类型为字符串(正如我提到的,简单地将 .toString()
添加到 .validate()
函数的末尾不会强制变量为字符串类型)?
您应该能够向相关对象添加一个空字符串,rhino 会将其转换为允许您的第 3 行工作的字符串。
var procedure = validate("", "")+"";
var description = "This is the description";
var output = procedure || description
升级到 Mirth 3.3 时,我发现
validate(isEmptyString, fallback); //returns isEmptyString if not empty, or fallback if it is empty
已更改。在 3.3 之前,validate()
总是返回一个字符串。现在有了 3.3,它 returns 一个对象。这在以下代码中是有问题的:
var procedure = validate("", ""); // used to return an empty string. Now returns an object.
var description = "This is the description";
var output = procedure || description;
因为 procedure
是一个对象,它永远不会 returns 虚假,因此 output = procedure
总是。
我也尝试过使用上述逻辑中的 toString()
将 procedure
转换为字符串,但无法转换。
在上面的代码中,执行此类检查的新标准是什么?在 3.3 之前,上面的 ||
会非常有效。有没有办法强制类型为字符串(正如我提到的,简单地将 .toString()
添加到 .validate()
函数的末尾不会强制变量为字符串类型)?
您应该能够向相关对象添加一个空字符串,rhino 会将其转换为允许您的第 3 行工作的字符串。
var procedure = validate("", "")+"";
var description = "This is the description";
var output = procedure || description