Всегда пихал его вверх файла, уже автоматом это выходит. Его можно так же пихать в начало функций отдельно. И мне тут один знакомый опытный девелопер говорит, мол лучше его пихать в начало функции отдельно. Кто объяснит в чем смысл?
Мне кажется проще запихнть его в топ сразу и уже не париться
“use srtict” как и <1DOCTYPE html> и без него все работает :-)
Смысл в том либо включается глобально, либо для конкретной области видимости заданной функцией, где он указан.
Если это разные независимые модули-плагины, то возможно и имеет смысл указывать внутри функции (области видимости модуля), так как не известно в какое окружение попадет ваш модуль-плагин.
Скопируют файл и если там первой строкой будет стрик мод, поломается приложение где-то, как вариант.
Смысл в том, что возможно ты хочешь объявлять в одном файле функции, которые несовместимы с "use strict" (например обратиться к arguments.callee), тогда объявив "use strict" на уровне файла у тебя не будет возможности объявить такую функцию.
Обрати внимание, что речь идет только про объявление, а не вызов (в строгом режиме можно вызывать функции, объявленные где и как угодно).