AWS VTL中blank与empty的区别是什么?
AWS VTL中
blank与empty的区别 在AWS AppSync的VTL(Velocity Template Language)里,util.empty()和util.blank()都是用来判断值是否为空的工具方法,但两者的判定范围有明显区别:
核心差异
util.empty():仅判定值是否为「无内容的空结构」,包括:null、undefined、空字符串""、空数组[]、空对象{}。像仅含空白字符的字符串(比如" ")、数字0、布尔值false这类有实际内容/明确值的,empty()会返回false。util.blank():判定范围比empty()更广,除了覆盖empty()的所有情况外,还会把仅包含空白字符的字符串(空格、制表符、换行符等)判定为“空”。但数字0、布尔值false依然不会被blank()判定为空。
各类型值的判定结果对比
| 输入值 | util.empty() 返回值 | util.blank() 返回值 |
|---|---|---|
null | true | true |
undefined | true | true |
""(空字符串) | true | true |
" "(仅含空格) | false | true |
[](空数组) | true | true |
{}(空对象) | true | true |
0(数字0) | false | false |
false(布尔假值) | false | false |
"string"(普通字符串) | false | false |
["a", "b"](非空数组) | false | false |
{a: "b"}(非空对象) | false | false |
内容的提问来源于stack exchange,提问作者Ilijanovic
相关产品推荐
相关产品推荐

