Sometimes knowledge like this is a little first-past-the-post, all-or-nothing.
Completeness of knowledge is key, especially when a chain of reasoning (debugging) is as strong as its weakest link. At these times, a false assumption based on how something works in some other language could really wrong-foot you. Being familiar with some language means it's faster to learn other languages that have similar implementations, but not assumed.
As soon as you need to squeeze out more (or even a little) performance, you need to know how the implementation works under the hood.
As soon as the languages abstractions begin to leak, you need a knowledge of the languages quirks and tells.
It takes a while to develop this experience, and there isn't necessarily a great deal of overlap between PLs.