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