var currentExtraStackFrame = null;
function setExtraStackFrame(stack) {
if (process.env.NODE_ENV === 'production') {
currentExtraStackFrame = stack;
}
}
В процессе сборки process.env.NODE_ENV
было заменено на 'production'
, а так как 'production' === 'production'
- это всегда истинное условие, то от if можно избавиться, оставив только его тело, вот только от блока при этом инструменты не избавляются, так как можно сломать видимость переменных. var currentExtraStackFrame = null; // это нужно, чтобы не словить предупреждение в консоль undefined variable/property при обращении к свойству currentExtraStackFrame
// этим методом вы задаете какое-то значение для свойства currentExtraStackFrame, если его нужно привести в какое-то не null значение (или вернуть в null - значение по умолчанию).
function setExtraStackFrame(stack)
{
// if() тут может была лексема if, можно просто ее закомментить и не убирать скобки, чтобы git не анализировать их исправление, и так будет работать
{
currentExtraStackFrame = stack;
}
}
__DEV__
:export function setExtraStackFrame(stack: null | string): void {
if (__DEV__) {
currentExtraStackFrame = stack;
}
}
__DEV__
был true, условие было опущено, т.к. оно всегда выполняется, а скобки остались как артефакт. Скорее всего транспилятор TS не проверяет весь контекст, и чтобы ничего не сломать случайно, оставляет скобки на своих местах. do {} while ()
и if (condition) {}
function foo() {}; // пустой блок
foo({}); // передали пустой объект аргументом
{} // пустой блок инструкций
({}) // отдельно висящий никому не нужный пустой объект
[{}] // создали массив с пустым объектом
{[]} // внутри блока создали пустой массив и забыли про него
«Умные» редакторы кода подсвечивают усы разными цветами и ругаются на бессмысленность