当声明变量时,使用不同的关键字会产生不同的效果:

  1. 使用var关键字:
var x = 10;
var x = 20; // 可以重新声明
x = 30; // 可以重新赋值
  1. 使用let关键字:
let y = 10;
let y = 20; // 重复声明会报错
y = 30; // 可以重新赋值
  1. 使用const关键字:
const z = 10;
const z = 20; // 重复声明会报错
z = 30; // 赋值会报错,常量值不能修改
  • 使用var关键字声明的变量可以多次声明和赋值。
  • 使用let关键字声明的变量不能重复声明,但可以重新赋值。
  • 使用const关键字声明的变量不能重复声明,且不能重新赋值,被视为常量。

  1. var: 它是ES5中声明变量的关键字,具有函数级作用域。使用var声明的变量可以在其声明的函数内部访问,也可以在函数外部访问。如果在函数内部使用var声明变量,它将成为该函数的局部变量。如果在函数外部使用var声明变量,它将成为全局变量。var声明的变量可以被多次声明,而且在声明前使用也不会报错。

  2. let: 它是ES6中引入的新关键字,具有块级作用域。使用let声明的变量的作用域被限制在当前块内,例如if语句块、for循环块、函数块等。let声明的变量不允许被重复声明,而且在声明前使用会报错。

  3. const: 它也是ES6中引入的新关键字,用于声明常量。const声明的变量的值不能被修改,一旦赋值后就不能再进行赋值操作。const声明的变量也具有块级作用域,不允许重复声明。

val不是JavaScript中的关键字,是kotlin的关键字。

总结来说:

  • var具有函数级作用域,允许重复声明。
  • let具有块级作用域,不允许重复声明。
  • const用于声明常量,具有块级作用域,不允许重复声明和修改。
09-28 11:31