zoukankan      html  css  js  c++  java
  • instance of type of object.prototype.tostring 区别

    typeof

    typeof 是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的数据类型。
     
    返回的结果用该类型的字符串(全小写字母)形式表示,包括以下 6 种:
     
    number、boolean、string、object、undefined、symbal 、function。
     
    typeof 对于对象,除了函数都会显示 object
     
    对于 null 来说,虽然它是基本类型,但是会显示 object,这是一个存在很久了的 Bug

    instance of

    instanceof 是用来判断 A 是否为 B 的实例,
     
    表达式为:A instanceof B,
     
    例:arr instanceof Array
     
    如果 A 是 B 的实例,则返回 true,否则返回 false。
     
    在这里需要特别注意的是:instanceof 检测的是原型。
     
     
     

    Object.prototype.toString.call

    toString 是 Object 原型对象上的方法,
     
    使用 call 来调用该方法会返回调用者的类型字符串,格式为 [object,xxx],xxx 是调用者的数据类型,
     
    包括:String、Number、Boolean、Undefined、Null、Function、Date、Array、RegExp、Error、HTMLDocument 等,
     
    基本上,所有的数据类型都可以通过这个方法获取到。
     
    Object.prototype.toString()返回[object class], 我们可以通过它获取对象的类型信息
     
    eg:[object Array]
     
    toString() 获取某个类型的数据的类型
     
     
    valueof() 获取某个类型的数据的值
     
     
    ES6   Symbol.toPrimitive
     
    Symbol.toPrimitive被调用时,会接受一个字符串参数,表示当前运算的模式,一个有三种模式。 该方法在转基本类型时调用优先级最高
     
    • Number:该场合需要转成数值
    • String:该场合需要转成字符串
    • Default:该场合可以转成数值,也可以转成字符串。
     

    比较运算符          

    1. 如果是对象,就通过 toPrimitive 转换对象
       
    2. 如果是字符串,就通过 unicode 字符索引来比较

     

    new

    1. 新生成了一个对象
    2. 链接到原型
    3. 绑定 this
    4. 返回新对象

    在调用 new 的过程中会发生以上四件事情,我们也可以试着来自己实现一个 new

     
     
     如果本文对您有帮助,请抬抬您的小手,点下右下角的推荐, ^-^,当然如果看了这篇博客对您有帮助是我最开心的事,毕竟赠人玫瑰,手有余香, ^-^,如果这篇博客没有帮助到您,那就只能说一声抱歉啦
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    numpy常用函数
    python 语法学习
    python学习:字典
    python 字符串使用
    k-近邻算法
    Numpy函数库
    机器学习初体验
    Xcode8 + iOS10Beta 权限问题崩溃的解决方法
    苹果设备全攻略
    使用 Xcode 代码块
  • 原文地址:https://www.cnblogs.com/katydids/p/9955964.html
Copyright © 2011-2022 走看看