При вводе пробы ниже в машинописи площадка (ссылка), передвигая мышь по { {X0}} внутри оператора console.log показывает, что тип foo был сужен до never. Но похоже, что это не так, поскольку запуск logIfFoo, как показано ниже, действительно приведет к вызову console.log(foo). Какое объяснение этому стоит?

const logIfFoo = (foo: unknown): void => {
  if (foo instanceof Object && "bar" in foo) {
    console.log(foo);
  }
}

logIfFoo({ "bar": "baz" });
1
Richard Simões 2 Дек 2020 в 06:37

1 ответ

Лучший ответ

Оказывается, это нерешенная проблема. Существует одобренный запрос на вытягивание, который ожидает слияния.

0
Richard Simões 5 Дек 2020 в 22:52