Что делает “use strict” в JavaScript и какие причины его избегать?