Object.prototype.toString.call([

2020-12-09  本文已影响0人  小柠有点萌

Object.prototype.toString.call([value]):调用Object原型上的tostring方法,让方法执行的时候,方法中的this是要检测的数据类型,从而获取到数据类型所属类的详细信息

//>在所有的数据类型中,他们的原型上都有toString方法,除了Object.prototype.toString不是把数据值转换成字符串,其余的都是转换为字符串,而Object原型上的toString是检测当前实例隶属的详细信息的 (检测数据类型。。。)

console.log([12,23].toString());//=>"12,23"
console.log(/^d+$/.toString());//=>"/^d+$/"
image.png
//柯里化
const curring = (fn,arr = []) => {
            let len = fn.length; //参数长度
            return function(...arrs) {
                let newArray = [...arr,...arrs]  //类型,值
                console.log(newArray)

                if(newArray.length == len) {
                    return fn(...newArray)
                } else {
                    return curring(fn,newArray)
                }
            }
        }
        function isType(typing, val) {
            return Object.prototype.toString.call(val) == `[object ${typing}]`
        }
        let newSum = curring(isType)
        let isString = newSum('String') 
        let isNumber = newSum('Number') 
        console.log(isString('hellow'))
        console.log(isNumber('word'))
上一篇 下一篇

猜你喜欢

热点阅读