レッドブック P152 には、この関数は属性がプロトタイプにあるかインスタンスにあるかを検出できると記載されています
ただし、特定の属性がプロトタイプまたはインスタンスに存在しない場合も false を返します
业精于勤,荒于嬉;行成于思,毁于随。
本をパラパラめくってみると、機能的には特に問題はありませんが、本の中の説明は確かに誤解を招きやすいです。
関数名を見てください——hasPrototypeProperty(object, name)——本来の意味は、オブジェクトのプロトタイプに指定された属性があるかどうかを判断することです、プロトタイプに指定された属性がない限り、 false が返されます。
hasPrototypeProperty(object, name)
この本の説明は、オブジェクトがこの属性を持っているという前提に基づいていると理解しています。関数が false を返す場合、この属性はプロトタイプにあります。 name
name
今試してみましたが、確かにその通りです。たぶん、この本は違いと方法を強調しているだけです。自分で使用するときに判断を加えれば完璧です。
本をパラパラめくってみると、機能的には特に問題はありませんが、本の中の説明は確かに誤解を招きやすいです。
関数名を見てください——
hasPrototypeProperty(object, name)
——本来の意味は、オブジェクトのプロトタイプに指定された属性があるかどうかを判断することです、プロトタイプに指定された属性がない限り、 false が返されます。この本の説明は、オブジェクトがこの属性を持っているという前提に基づいていると理解しています。関数が false を返す場合、この属性はプロトタイプにあります。
name
今試してみましたが、確かにその通りです。たぶん、この本は違いと方法を強調しているだけです。自分で使用するときに判断を加えれば完璧です。