typescript не конвертирует number в string
const x:any = 5;
foo(x);
...
function foo( p: string) {
console.log('foo',p, typeof(p))
}
Консоль: foo 5 number
Ожидалось: foo '5' string или ошибка.
Почему нет автоматической конвертации или хотя бы ошибки? Что с этим делать?
Спасибо!
PS: Я попробовал онлайн компилятор и получил ошибку компиляции, поэтому подправил, потому что я получаю х из json.
Ответы (1 шт):
Автор решения: UserTest013
→ Ссылка
TypeScript не конвертирует типы. TypeScript лишь проверяет соответствие типов на этапе компиляции. Но вы указали что x имеет тип any и это указывает компилятору что вы не хотите проверять тип х.
Конвертируйте типы явно:
const x:any = 5;
foo(x);
...
function foo( p: any) {
p = String(p);
console.log('foo',p, typeof(p))
}