在 JavaScript 和 TypeScript 中,
var
、let
、和 const用法相同
const:
JS
// 声明一个对象 const person = { name: 'John', // 字符串类型,表示人的姓名 age: 30, // 数字类型,表示人的年龄 hobbies: ['reading', 'cooking'], // 字符串数组,表示人的爱好 }; // 声明一个数字 const number = 42; // 数字类型,表示一个数字 // 声明一个数组 const colors = ['red', 'green', 'blue']; // 字符串数组,表示颜色集合 // 声明一个字符串 const greeting = 'Hello, world!'; // 字符串类型,表示问候语
TS
import { ref } from 'vue'; // 声明一个对象 const person = { name: 'John', // 字符串类型,表示人的姓名 age: 30, // 数字类型,表示人的年龄 hobbies: ['reading', 'cooking'], // 字符串数组,表示人的爱好 }; // 声明一个数字 const number = 42; // 数字类型,表示一个数字 // 声明一个数组 const colors = ['red', 'green', 'blue']; // 字符串数组,表示颜色集合 // 声明一个字符串 const greeting = 'Hello, world!'; // 字符串类型,表示问候语 // 使用ref创建一次 const personRef = ref(person); // 使用ref创建一个响应式对象,初始值为person对象
区别
-
作用域(Scope):
var
: 它声明的变量有函数作用域,在函数内有效let
和const
: 它们声明的变量有块级作用域,这意味着这些变量仅在它们被声明的代码块(例如一个循环或if语句)内有效。
-
重新赋值(Reassignment):
var
和let
: 可以被重新赋值。const
: 不能被重新赋值。一旦一个变量被const
声明,它的值就被固定了(但如果它是一个对象或数组,对象的属性或数组的元素还是可以被修改的)。-
-
-
重新声明(Redeclaration):
var
: 同一个作用域中可以多次声明同一个变量,后面的覆盖前面的。let
和const
: 在同一个作用域中不能多次声明同一个变量。-
-