Impossible de redéclarer la variable « nom » de portée bloc.
problème
// 报错:Cannot redeclare block-scoped variable 'name'.ts(2451)
// lib.dom.d.ts(27029, 15): 'name' was also declared here.
let name:string = '阳阳';
let age:number = 11;
document.write(`<h1>name=${
name} age=${
age}</h1>`)
raison
Par défaut, les typages DOM sont l'environnement d'exploitation global,
- Lors de la déclaration du nom, il porte le même nom que l'attribut name sous l'objet window global dans le DOM.
- Par conséquent, une erreur est signalée : Impossible de redéclarer la variable de portée bloc 'name'.ts(2451)
solution
méthode 1
- Modifier la configuration ts
- Par défaut dans l'environnement dom, passer à l'environnement es6
{
"compilerOptions": {
"lib": [
"es2015" // 默认是 dom 环境下
]
}
}
Méthode 2
- recommander
- Ne modifiez pas la configuration ts
- En déclarant le prix actuel sous forme de module, il peut être distingué de l'environnement global
- Dans Typescript, tant que le mot-clé import ou export existe dans le fichier, il est considéré comme un module
let name:string = '阳阳';
let age:number = 11;
document.write(`<h1>name=${
name} age=${
age}</h1>`)
export {
}