С вашего вопроса, я выводя, что navigator
является переменной типа Navigator
. Из первой отправленной вами ошибки я бы предположил, что проблема заключается в том, что либо (1), что интерфейс Navigator
не имеет свойства systemLanguage
или (2), что вы не указали, что navigator
имеет тип Navigator
в вашем файле кода. Из второй сделанной вами ошибки я вполне уверен, что ваша проблема вызвана проблемой (2).
Так как TypScript компилирует все .ts-файлы, когда вы добавляете интерфейс Navigator
с свойством systemLanguage
, он обнаруживает, что есть уже другой интерфейс с тем же именем и тем же свойством, таким образом, вторая ошибка.
Я думаю, что вам нужно сделать, это (1) найти, где Navigation
определяется, (2) импортировать определение в файл, который содержит код, который вы ссылаетесь первым и (3) Тип navigator
как типа Navigator
.
EDIT: Вот пример:
// your-code-file.ts
import Navigator from './path-to-code-file-with-navigator/navigator.ts'
...
let navigator:Navigator = ...;
...
var lang = navigator.language
? navigator.language
: navigator.systemLanguage;
// navigator.ts
interface Navigator {
language: string;
systemLanguage: string;
}
странный: https://www.typescriptlang.org/play/#src=interface%20Navigator%20%7B%0D%0A%20%20systemLanguage%3A%20string%3B%0D%0A%7D%0D% 0A% 0D% 0Avar% 20lang% 20% 3D% 20navigator.language% 20% 7C% 7C% 20navigator.systemLanguage% 3B% 0D% 0A% 0D% 0Aconsole.log (lang)% 3B – InferOn
@Inferon, что странно " об этом? –