10 karma · joined June 26, 2024
$0.02: the devil's in the details.
It also depends on the audience and medium, with "should've" being more appropriate for conversational/informal usage. It would be perfectly normal to say something like "he shouldn't've done that," but if I were writing a message, I'd at least expand the last contraction to "have."
I think there's a general perception that many of the common dialects of American English, especially in the South and West, are associated with being less educated. I am not sure where that comes from.
I'm a native English speaker, and my perception is that when someone speaks in a way where they don't use contractions, it seems verbose and stilted; I associate it with being scolded or disciplined, or when someone is speaking sternly to make a point (or out of anger). E.g.: "You don't know where you're going, you should've taken a left" - informative/neutral "You do not know where you are going, you should have taken a left" - critical/scolding
Omitting contractions can result in speech that sounds strange and unnatural in general: "Shouldn't we go?" -> "Should not we go?" "Aren't you coming?" -> "Are not you coming?" "We didn't, but we should've." -> "We did not, but we should have."
Brendan Eich has elaborated on why the decision was made, whether it was a good one or not - null is an empty object pointer.
Idiomatically, I'd argue that `null` shouldn't exist in Javascript, since undefined is the global "default empty" value.