Comment by stephbook
15 hours ago
Memory garbage collection, borrow checker, compile-time static typing in dynamic languages (Typescript, Python).
Language specific for JavaScript: Strict comparison operator === that disables type coercion, together with banning ==.
== allows "5" equals 5.
HTML attributes are all strings, so javascript's type coercion in general was this (doesn't just apply to ==) - a way to avoid having to do explicit conversions and make values act semantically equal without having to think about types.
A strict ban has always felt to me like we're leaving behind useful functionality.