Сдвиг безопасен, но ваш вопрос некорректен, потому что порядковый номер не влияет на операции сдвига битов в любом случае. Сдвиг влево одинаков для систем с прямым и прямым порядком байтов во всех языках. (Сдвиг вправо может отличаться, но только из-за интерпретации знакового бита, а не относительных положений каких-либо битов.)
Endianness вступает в игру только тогда, когда у вас есть возможность интерпретировать некоторый блок памяти как байты или как большие целочисленные значения. В общем, Javascript не дает такой возможности, поскольку вы не получаете доступ к произвольным блокам памяти, особенно к блокам памяти, занятым переменными. Типизированные массивы предлагают представления данных с учетом порядка байтов, но порядок зависит от хост-системы; это не обязательно одинаково для всех возможных сред хоста Javascript.
Endianness описывает физический порядок хранения, а не логический порядок хранения. Логически, самый правый бит равен , всегда младший значащий бит. То, является ли этот бит байтом, который находится на самом низком адресе памяти, является совершенно отдельной проблемой, и это имеет значение только тогда, когда ваш язык предоставляет такую концепцию, как «самый низкий адрес памяти», чего нет в Javascript. Типизированные массивы делают, но только в контексте типизированных массивов; они по-прежнему не предоставляют доступ к хранилищу произвольных данных.