Local Variables

How to define and use local variables.

A variable is a place where you can store and retrieve data. Variables have a name, a type, and value:

  • name is how you’ll refer to the variable
  • type refers to the kind of data a variable can store
  • value refers to what’s stored in the variable

Var statement

Use the Block Editor variable statement to create a variable and the assignment operator to store something in the variable.

For example, this code stores the number 2 in the x variable:

let x = 2;

Here’s how to define a variable in the Block Editor:

  1. Click variables.

  2. Change the default variable name if you like.

  3. Drag a block type on the right-side of the assignment operator and click the down arrow to change the variable name.

A variable is created for the number returned by the brightness function.

let b = led.brightness();

Using variables

Once you’ve defined a variable, just use the variable’s name whenever you need what’s stored in the variable. For example, the following code shows the value stored in counter on the LED screen:

let counter = 1;
basic.showNumber(counter);

To change the contents of a variable use the assignment operator. The following code sets counter to 1 and then increments counter by 10:

let counter = 1;
counter = counter + 10;
basic.showNumber(counter);

Why use variables?

If you want to remember and modify data, you’ll need a variable. A counter is a great example:

let counter = 0;
input.onButtonEvent(Button.A, ButtonEvent.Down, () => { 
  counter = counter + 1;
  basic.showNumber(counter);
});

Local variables

Local variables exist only within the function or block of code where they’re defined. For example:

// x does NOT exist here.
if (led.brightness() > 128) {
  // x exists here
  let x = 0;
}

Notes

  • You can use the default variable names if you’d like, however, it’s best to use descriptive variable names. To change a variable name in the editor, select the down arrow next to the variable and then click “new variable”.

See also

types, assignment operator