【JS】【每日一问】node.js中是如何判断类型的?

【每日一问】node.js中是如何判断类型的?

修仙大橙子发布于 1 月 28 日

JavaScript中的类型

在ECMAScript标准中,一共有八种数据类型:

  • 7种原始类型

    • Boolean
    • Null
    • Undefined
    • Number
    • BigInt
    • String
    • Symbol

  • Object

那么问题来了,应该如何判断这些类型?下面是node中判断上述类型的相关代码(BigInt除外),基本上基于typeof进行判断。说到typeof那就不得不提下面的话题:

知识储备

typeof对null类型错误的返回值

下面直接引用MDN的解释
【JS】【每日一问】node.js中是如何判断类型的?

null错误,考古文传送门

因此后面的代码对于typeof null === 'object'这个问题,有所兼容。

还有一个问题就是,在上面的定义中,一共有七种原始类型,那么问题来了:

什么是原始类型?

MDN中的解释为:

知识储备完毕,我们下面开始判断类型:

node.js中判断源码

如何判断原始类型?

function isPrimitive(arg) {

return arg === null ||

(typeof arg !== 'object' && typeof arg !== 'function');

}

如何判断布尔类型?

function isBoolean(arg) {

return typeof arg === 'boolean';

}

如何判断null?

function isNull(arg) {

return arg === null;

}

如何判断undefined?

function isUndefined(arg) {

return arg === undefined;

}

如何判断null或undefined?

function isNullOrUndefined(arg) {

return arg === null || arg === undefined;

}

如何判断数字类型?

function isNumber(arg) {

return typeof arg === 'number';

}

如何判断字符串类型?

function isString(arg) {

return typeof arg === 'string';

}

如何判断symbol类型?

function isSymbol(arg) {

return typeof arg === 'symbol';

}

如何判断对象类型?

function isObject(arg) {

return arg !== null && typeof arg === 'object';

}

如何判断是函数?

function isFunction(arg) {

return typeof arg === 'function';

}

以上代码在仓库中的位置

node代码传送门

javascriptnode.js类型判断类型检测每日一问

阅读 21发布于 1 月 28 日

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议


前端小站

前端的内容小记

avatar

修仙大橙子

前端工程师

83 声望

3 粉丝

0 条评论

得票时间

avatar

修仙大橙子

前端工程师

83 声望

3 粉丝

宣传栏

JavaScript中的类型

在ECMAScript标准中,一共有八种数据类型:

  • 7种原始类型

    • Boolean
    • Null
    • Undefined
    • Number
    • BigInt
    • String
    • Symbol

  • Object

那么问题来了,应该如何判断这些类型?下面是node中判断上述类型的相关代码(BigInt除外),基本上基于typeof进行判断。说到typeof那就不得不提下面的话题:

知识储备

typeof对null类型错误的返回值

下面直接引用MDN的解释
【JS】【每日一问】node.js中是如何判断类型的?

null错误,考古文传送门

因此后面的代码对于typeof null === 'object'这个问题,有所兼容。

还有一个问题就是,在上面的定义中,一共有七种原始类型,那么问题来了:

什么是原始类型?

MDN中的解释为:

知识储备完毕,我们下面开始判断类型:

node.js中判断源码

如何判断原始类型?

function isPrimitive(arg) {

return arg === null ||

(typeof arg !== 'object' && typeof arg !== 'function');

}

如何判断布尔类型?

function isBoolean(arg) {

return typeof arg === 'boolean';

}

如何判断null?

function isNull(arg) {

return arg === null;

}

如何判断undefined?

function isUndefined(arg) {

return arg === undefined;

}

如何判断null或undefined?

function isNullOrUndefined(arg) {

return arg === null || arg === undefined;

}

如何判断数字类型?

function isNumber(arg) {

return typeof arg === 'number';

}

如何判断字符串类型?

function isString(arg) {

return typeof arg === 'string';

}

如何判断symbol类型?

function isSymbol(arg) {

return typeof arg === 'symbol';

}

如何判断对象类型?

function isObject(arg) {

return arg !== null && typeof arg === 'object';

}

如何判断是函数?

function isFunction(arg) {

return typeof arg === 'function';

}

以上代码在仓库中的位置

node代码传送门

以上是 【JS】【每日一问】node.js中是如何判断类型的? 的全部内容, 来源链接: utcz.com/a/109952.html

回到顶部