javascript - 一段关于 Symbol 的js代码,不太懂请教下。

查看:377
本文介绍了javascript - 一段关于 Symbol 的js代码,不太懂请教下。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在阅读别人写的代码的时候,看到多处使用了这样一段代码,不知道是什么意思,有什么作用。向js高手请教。

var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
    return typeof e
} : function(e) {
    return e && "function" == typeof Symbol && e.constructor === Symbol ? "symbol" : typeof e
};

解决方案

symbol是一个数据类型,可以通过Symbol()来构造。

var sym = Symbol();
typeof sym;     // "symbol"

我们现在需要一个方法_typeof,希望它能识别出数据类型,包括symbol。

对于认识sysbol的执行环境,"function" == typeof Symbol && "symbol" == typeof Symbol.iterator结果为true,

_typeof=function(e) {
    return typeof e
}

对于不认识sysbol的执行环境:
如果要检测的数据类型不是sysbol:

_typeof=function(e) {
    return typeof e
}

否则:
因为 这个应该是sysbol数据类型的数据 是通过Symbol构造的

_typeof=function(e) {
   return "symbol"
}

这篇关于javascript - 一段关于 Symbol 的js代码,不太懂请教下。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆