Primitive, object
type Primitive =
| string
| number
| bigint
| boolean
| symbol
| null
| undefined;type Various = number | string | object;
// Expect: object
type Cleaned = Exclude<Various, Primitive>;
const isPrimitive = (
value: unknown
): value is Primitive => {
if (value === null || value === undefined) {
return true;
}
switch (typeof value) {
case "string":
case "number":
case "bigint":
case "boolean":
case "symbol": {
return true;
}
default: {
return false;
}
}
};{} vs. object
{} vs. object{}타입:Nullish타입을 제외한 모든 값을 포함하는 타입object타입: 원시 타입의 값이 아닌 모든 객체 타입의 값을 포함하는 타입
function isObject(value: unknown): value is object {
return !isPrimitive(value);
}참고 자료
Last updated