typeOf

typeOf

> 機能

次の型の中から、値 value の型を返します。

#### 設定

#### フィードバック

TypeScript

JavaScript の typeof value は、LeekScript の typeOf のような数値定数ではなく文字列を返します — "number"、"string"、"boolean"、"function"、"object"、"undefined"。典型的な落とし穴が 2 つあります。typeof [] と typeof null はどちらも "object" になります。配列の判定には Array.isArray(value)、null には value === null、そのほかには instanceof を使ってください: value instanceof Map、value instanceof Cell、value instanceof Entity。

Python

Python の type(value) は、LeekScript の typeOf のような数値定数ではなく値のクラスを返します。type([]) は ` で、type(value).__name__ は "list"、"bool"、"Cell" などを返します。型を判定するときは type(value) is list ではなく必ず isinstance(value, list) と書いてください。エンジンは演算数を数えるために list、dict、set、tuple、frozenset を包んでいるため、type([]) is list は False になる一方で isinstance([], list) は True になります。isinstance は型のタプルも受け付け(isinstance(x, (int, float))`)、サブクラスも認識します。