Typescript: Рекомендуемый способ игнорировать «свойство не существует для значения типа»

Созданный на 11 янв. 2016  ·  1Комментарий  ·  Источник: microsoft/TypeScript

Мне нужно переопределить свойство эксперимента в Chrome, и я обнаружил эту ошибку.

if ('scrollRestoration' in history) {
    history.scrollRestoration = 'manual'; // type error
}

Я нашел ответы на странице http://stackoverflow.com/questions/18083389/ignore-typescript-errors-property-does-not-exist-on-value-of-type. Но не уверен, какой из них правильный.

(history as any).scrollRestoration = 'manual';

против

history['scrollRestoration'] = 'manual';

Кажется, что в документации / книге по глубокому погружению TypeScript не упоминается синтаксис квадратных скобок.

Question

Самый полезный комментарий

Я бы выбрал первый. Второй работает, но только если вы компилируете без -noImplicitAny .

>Все замечания

Я бы выбрал первый. Второй работает, но только если вы компилируете без -noImplicitAny .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги