After some research prototype seems to have existed for a long time before dynamic modification was added with __proto__ , and ecma just didn’t bother to modify prototype. But apparently there are actual differences, though this seems vague. The only differences I could find are
- prototype will be automatically inherited while __proto__ won’t
- prototype alone won’t do anything while __proto__ actually has the functionality of a proxy
On second thought this actually makes sense, but I’m not certain it’s correct…
Also are there any other differences?