https://www.ibm.com/developer...
この記事によると
instaceof は次のコードでシミュレートできます
しかし var a=1;instance_of(a,Object) は true instanceof Object は false を返します。これはなぜでしょうか?
人生最曼妙的风景,竟是内心的淡定与从容!
オーナー、あなたのinstance_of 是代替不了 instanceofを試してみてください
instance_of
instanceof
まず、サンプル a のタイプが Number であることを確認してください
ただし、実行結果は以下の通りinstance_of(a, Object) // trueinstance_of(a, Number) // true
instance_of メソッドを変更します:
もう一度実験してみましょう:
この記事で使用されている規格はES3です
ES6 の instanceof标准更长一点, 规定了当type(L)不是Object时L instanceof R は false を返す必要があります。このモックコードは適用されません
type(L)
L instanceof R
1 つの部分は、シミュレーション コード内のプロトタイプ チェーンのコンテンツです。
L = L._proto_ 代表着L会沿着原型链一直向上查找原型,而在本例中,最后是从Number包装对象==>Object对象,而R就是Object,再经过全等运算符之后就返回true,所以instance_of(a,Object)は本当です。
L = L._proto_
instance_of(a,Object)
a instanceof Objectプロトタイプチェーン検索を経ず、NumberオブジェクトのインスタンスとObjectの間で直接判定するため、結果がfalseとなる
a instanceof Object
オーナー、あなたの
instance_of
是代替不了instanceof
を試してみてくださいまず、サンプル a のタイプが Number であることを確認してください
ただし、実行結果は以下の通り
instance_of(a, Object) // true
instance_of(a, Number) // true
instance_of メソッドを変更します:
リーリーもう一度実験してみましょう:
リーリーこの記事で使用されている規格はES3です
ES6 の
instanceof
标准更长一点, 规定了当type(L)
不是Object时L instanceof R
は false を返す必要があります。このモックコードは適用されません1 つの部分は、シミュレーション コード内のプロトタイプ チェーンのコンテンツです。
リーリーL = L._proto_
代表着L会沿着原型链一直向上查找原型,而在本例中,最后是从Number包装对象==>Object对象,而R就是Object,再经过全等运算符之后就返回true,所以instance_of(a,Object)
は本当です。
🎜a instanceof Object
プロトタイプチェーン検索を経ず、NumberオブジェクトのインスタンスとObjectの間で直接判定するため、結果がfalseとなる