私が理解していることから、前者は次のようになります。
toString
オブジェクトでメソッドを検索します- それを呼び出します
value
がthis
、value
そしてvalue.toString()
意志。
- のプロトタイプチェーンの
toString
どこかでメソッドを見つけますvalue
- 関数呼び出しパターンを介して値として
toString
バインドされた値を呼び出すthis
したがって、違いはtoString
、値にオーバーライドされたメソッドがある場合です...それを使用します。
私の質問は:
- それが唯一の違いですか?
- 逆に、このパターンは、のメソッドを呼び出していることを保証したい場合に使用する標準パターンで
Parent
あり、潜在的に一部がオーバーライドされないようにしChild
ますか?(この場合、Parent = Object、Child =クラス値は、古典的に考えている場合は元になり、method = toStringになります。)