TypeScript | Почему, если объявить объект как объект, выдаёт ошибку
У меня есть код, который подключает класс Human из локального файла. Всё работает нормально. Также, я сделал 'Json-Serializer', для этого я создал объект, и внутри него добавил массив People, чтобы использовать метод push(). Т.е., мой код работает, но если я к объявлению моего объекта добавлю : object, то выдаёт ошибку уже сам текстовый редактор.
Вот мой код:
// @ts-check
import Human from './human.class';
import { writeFile } from 'fs';
let objectToJSON = {
People: <Human[]>[]
}
let names: string[] = ["Владислав", "Роман", "Всеволод", "Михаил", "Дарья", "Александр", "Моника", "Вадим", "Артём"]
let surnames: string[] = ["Борисов", "Елисеев", "Грачев", "Вдовин", "Корнеева", "Быков", "Алешина", "Гуров", "Богомолов"]
names.forEach((name: string) => {
objectToJSON.People.push(new Human(name, surnames[names.indexOf(name)], Math.floor(Math.random() * (20 - 10 + 1) + 10)))
})
writeFile(`${__dirname}/people.json`, JSON.stringify(objectToJSON), (err) => {
if (err) return console.log(err.message);
console.log(typeof objectToJSON);
})
И, если я к строчке let objectToJSON = { припишу : object, т.е. let objectToJSON: object = {, то мне выдаёт такую ошибку
Property 'People' does not exist on type 'object'.
Объясните пожалуйста почему?
Правка:
Я проверил тип
objectToJSON, он говорит, что это object