#typescript
#машинописный текст
Вопрос:
Я новичок в JavaScript и typescipt. Ниже приведен мой код:
let myObj:Object = { foo: 'bar' };
let strVar:string = myObj.foo; // then it throw an error that "property foo does not exist on type 'Object'"
Итак, почему я не могу получить доступ к свойствам объекта?
Комментарии:
1. Это не ошибка javascript. Ошибка вызвана typescript. Эта ошибка будет устранена, если вы правильно установите тип myObj. Обратитесь к ответу Fullstack Guy.
2. Вы можете просто опустить тип, чтобы позволить компилятору сделать вывод.
Ответ №1:
Это верно, поскольку foo
это не свойство Object
типа. Вам необходимо внести следующие изменения:
let myObj:{ foo: string } = { foo: 'bar' };
let strVar:string = myObj.foo;
Вы также можете объявить интерфейс:
interface MyObject {
foo: string;
}
let myObj: MyObject = { foo: "bar" };
let strVar:string = myObj.foo;