検索

ホームページ  >  に質問  >  本文

JavaScript - インスタンスオブ演算子

https://www.ibm.com/developer...

この記事によると

instaceof は次のコードでシミュレートできます

リーリー

しかし
var a=1;
instance_of(a,Object) は true
instanceof Object は false を返します。これはなぜでしょうか?

黄舟黄舟2748日前715

全員に返信(3)返信します

  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:28:43

    オーナー、あなたのinstance_of 是代替不了 instanceofを試してみてください

    まず、サンプル a のタイプが Number であることを確認してください

    ただし、実行結果は以下の通り
    instance_of(a, Object) // true
    instance_of(a, Number) // true

    instance_of メソッドを変更します:

    リーリー

    もう一度実験してみましょう:

    リーリー

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:28:43

    この記事で使用されている規格はES3です

    ES6 の instanceof标准更长一点, 规定了当type(L)不是Object时L instanceof R は false を返す必要があります。このモックコードは適用されません

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:28:43

    1 つの部分は、シミュレーション コード内のプロトタイプ チェーンのコンテンツです。

    リーリー

    L = L._proto_ 代表着L会沿着原型链一直向上查找原型,而在本例中,最后是从Number包装对象==>Object对象,而R就是Object,再经过全等运算符之后就返回true,所以instance_of(a,Object)は本当です。

    a instanceof Objectプロトタイプチェーン検索を経ず、NumberオブジェクトのインスタンスとObjectの間で直接判定するため、結果がfalseとなる

    🎜

    返事
    0
  • キャンセル返事