#javascript
(+(("lastIndexOf") in []) ** 55 + 2) + 5
Ответы
Ответ 1
Во многих языках, таких как PHP и Python и других, есть оператор возведения в степень (обычно ^ или **), оператор определён имеющим приоритет выше, чем у унарных операторов, таких как унарный + и унарный -, но есть несколько исключений. Например, в Bash оператор ** создан имеющим приоритет ниже, чем у унарных операторов. В JavaScript невозможно написать двухсмысленное выражение, т.е. вы не можете ставить унарный оператор (+/-/~/!/delete/void/typeof) непосредственно перед базовым числом. Взято ОТСЮДА Другими словами: это ограничение js'а - нельзя использовать унарный оператор перед базовым числом (числом которое возводится в степень) из-за "двусмысленности". Варианты исправления. Явно указываем порядок действий: ((+(("lastIndexOf") in [])) ** 55 + 2) + 5 Используем старый метод: (Math.pow(+("lastIndexOf" in []), 55) + 2) + 5
Комментариев нет:
Отправить комментарий