美文网首页
Javascript 高阶函数-isType

Javascript 高阶函数-isType

作者: 我是一个前端 | 来源:发表于2020-05-25 18:40 被阅读0次
类型判断封装
    // 目前最好的办法是用 Object.prototype.toString.call(),所以其他 typeof constructor instanceof 就不一一细说了,有机会针对性写一下

    //获取准确的类型
    console.log(Object.prototype.toString.call('123')) //[object String]

    // 这样的话我们就有必要做一个通用方法 接下来一步一步来

    // checkType('123') //能得到正确的结果 需要怎么做呢

    //通常我们这么做

    function isType(obj){
        return Object.prototype.toString.call(obj).slice(8,-1)
    }
    console.log(isType(123)) //Number  没问题

    //不过我们是封装 ,我们想直接返回Boolean

    // 这样改
    // function checkType(obj,type){
    //     console.log(Object.prototype.toString.call(obj))
    //     return Object.prototype.toString.call(obj) === `[object ${type}]`
    // }

    // 测试
    console.log(checkType(123,"Number")) //true  没问题  不过我们不满足,我们既然是封装 肯定是使用者怎么简单怎么来。


    // 于是我们想是不是可以这样 isNumber()、isString()....   这样还能防止使用者 写错参数  例如类型全写小写了 等等
    //还想使用者尽量少的传入参数,毕竟 类型是固定的
    let types = ['String','Number','Object','Array','Function','Boolean']
    let typeUtil = {}
    // 既然我们只需要传入一个参数,那么type是需要内置的
    // 需要改造checkType函数
    function checkType(type){
        return (obj)=>{
            return Object.prototype.toString.call(obj) === `[object ${type}]`
        }
    }
    types.forEach((type)=>{
        typeUtil[`is${type}`] = checkType(type)
    })

    console.log(typeUtil.isNumber(123))

相关文章

  • Javascript 高阶函数-isType

    类型判断封装

  • JavaScript教程day13-高阶函数

    高阶函数 高阶函数英文叫Higher-order function。javascript的函数其实都指向某个变量。...

  • js 关于高阶函数

    高阶函数英文叫Higher-order function。那么什么是高阶函数? JavaScript的函数其实都指...

  • JS基础回顾:高阶函数

    高阶函数英文叫Higher-order function。那么什么是高阶函数? JavaScript的函数其实都指...

  • react hoc

    一、概念 高阶组件的概念应该是来源于JavaScript的高阶函数:高阶函数就是接受函数作为输入或者输出的函数 高...

  • JavaScript高阶函数

    JavaScript高阶函数(Heigher-order function) 概念 《javascript设计模式...

  • JavaScript 高阶函数浅析

    高阶函数 在 JavaScript 中,函数是一种特殊类型的对象,它们是 Function objects。高阶函...

  • JavaScript 高阶函数

    高阶函数是将函数作为参数或返回函数的函数。 之所以可以使用 JavaScript 编写高阶函数,是因为函数是值,这...

  • javascript 函数(map、reduce)

    高阶函数 函数的参数可以接收另一个函数,这类函数称之为高阶函数 map JavaScript的map()是Arra...

  • JavaScript学习笔记(三)

    主要源于廖雪峰老师的JavaScript教程 1. 高阶函数 参数传入函数 JavaScript的函数其实都指向某...

网友评论

      本文标题:Javascript 高阶函数-isType

      本文链接:https://www.haomeiwen.com/subject/umkuahtx.html