1. var:
- 具有函数作用域(function-scoped),而不是块级作用域。
- 会进行变量提升(hoisting)。
function exampleVar() {
if (true) {
var x = 10;
}
console.log(x); // 可以访问 x,因为它具有函数作用域
}
2. let:
- 具有块级作用域(block-scoped),在块(例如 {})内定义的变量只在该块内可见。
- 不会进行变量提升。
function exampleLet() {
if (true) {
let y = 20;
}
// console.log(y); // 错误,y 在这里不可见
}
3. const:
- 声明一个只读的常量,一旦赋值后就不能再被修改。
- 具有块级作用域。
- 不会进行变量提升。
const PI = 3.14;
// PI = 3.14159; // 错误,const 声明的变量不可重新赋值
4. 解构赋值(Destructuring Assignment):
使用解构赋值语法可以方便地从数组或对象中提取值并赋给变量。
// 数组解构
let [a, b] = [1, 2];
// 对象解构
let { firstName, lastName } = { firstName: "John", lastName: "Doe" };
5. 函数参数解构:
在函数参数中使用解构赋值语法。
function greet({ firstName, lastName }: { firstName: string; lastName: string }): string {
return `Hello, ${firstName} ${lastName}!`;
}
console.log(greet({ firstName: "John", lastName: "Doe" }));
这些是 TypeScript 中变量声明的一些基础概念。选择合适的声明方式取决于你的需求,但一般推荐使用 let 和 const,避免使用 var,因为它可能引起一些不可预知的问题。
转载请注明出处:http://www.zyzy.cn/article/detail/4694/TypeScript