typeOf

typeOf

> 函数列表

返回 value 的类型,可能是以下类型之一:

参数
返回值
TypeScript

在 JavaScript 中,typeof value 返回的是一个字符串——"number"、"string"、"boolean"、"function"、"object"、"undefined"——而不是像 LeekScript 的 typeOf 那样返回一个数字常量。这里有两个经典的坑:typeof [] 和 typeof null 都等于 "object"。请用 Array.isArray(value) 判断数组,用 value === null 判断 null,其余的用 instanceof:value instanceof Map、value instanceof Cell、value instanceof Entity。

Python

在 Python 中,type(value) 返回的是值的类,而不是像 LeekScript 的 typeOf 那样返回一个数字常量:type([]) 等于 `,而 type(value).__name__ 得到 "list"、"bool"、"Cell"……要判断类型,请始终写 isinstance(value, list),而不是 type(value) is list:引擎会包装 list、dict、set、tuple 和 frozenset 来统计操作数,因此 type([]) is list 为 False,而 isinstance([], list) 为 True。isinstance 还可以额外接受一个类型元组,如 isinstance(x, (int, float))`,并且能识别子类。