跳转到主要内容
eLearner.app
模块 1 · 第 1 课(共 4)课程中的1/32~8 min
模块课程(1/4)

变量:let 和 const

In JavaScript, variables are names we bind a value to. Every time you write "real" code, the first thing you do is give names to the things you want to manipulate. Modern JavaScript gives you two keywords:

JS
const numero = 42; // valore fissato per sempre
let contatore = 0; // valore che puoi riassegnare

Read in English: "call numero the value 42". From that moment on, every time you write numero in the same block, JS replaces it with 42.

const: the default you want to use almost always

const declares a non-reassignable variable. Once bound, you cannot point it to another value:

JS
const pi = 3.14;
pi = 3; // TypeError: Assignment to constant variable.

This rigidity is a good thing: the vast majority of names in your code represent a value that should not change during its lifetime, and const makes this explicit to the reader.

let: when the value changes

let declares a reassignable variable. You use it when a name has to point to different values over time:

JS
let punteggio = 0;
punteggio = punteggio + 10;
punteggio = punteggio + 5;
console.log(punteggio); // 15

Scope: where a variable lives

let and const live in the block they are declared in — that is, between curly braces { … }. Outside that block, they simply do not exist:

JS
{
  const segreto = 'shh';
  console.log(segreto); // 'shh'
}
console.log(segreto); // ReferenceError: segreto is not defined

Try it

锻炼#js.m1.l1.e1
尝试:0加载中...

Declare a constant called `greeting` with the value 'Ciao, mondo!' and then write it as the last expression (so it will be shown as the result).

正在加载编辑器...
显示提示

The last expression of a JS block is captured as the 'return value' of the exercise.

3 次尝试后可用的解决方案

Review exercise

锻炼#js.m1.l1.e2
尝试:0加载中...

Create a `let` called `total` initialized to 0, add 7 to it and then 5, finally evaluate `total` as the last expression.

正在加载编辑器...
显示提示

You can reassign a let with `name = name + something` (or with the shortcut `+=`).

3 次尝试后可用的解决方案