This is fair enough from an idealistic view. In practice, you don't want your entire website to shit itself because of a potentially insignificant error.
To start off... Using arithmetic operators on strings in combination with integers is a pure skill issue. Let's disregard this.
If you were to use + where one part is a string, it's natural to assume a string appending is desired since + is commonly used as a function for this. On the other hand, - is never used for any string operation. Therefore, it's safe to assume that it relates to actual artihmetics and any strings should therefore be converted to numerical values.
This is an issue with untyped languages. If you don't like it, use typescript. End of story.
No one cares about the definition of knowledge to this extent except for philosophers. The person who originally used the word "know" most definitely didn't give a single shit about the philosophical perspective. Therefore, you shitting yourself a word not being used exactly as you'd like instead of understanding the usage in the context is very much semantics.
You could claim that it knows the pattern of how references are formatted, depending on what you mean by the word know. Therefore, 100% uninteresting discussion of semantics.
She won an award for her entrepreneurship in 2018 from a well established economics newspaper. Says a lot about capitalism