# Basic Operators

An operator is a special symbol or phrase that you use to check, change, or combine values. For example, the addition operator (`+`) adds two numbers, as in `const i = 1 + 2`, and the logical AND operator (`&&`) combines two Boolean values, as in `if isPrime && isEven`.

LichenScript supports the operators you may already know from languages like JavaScript. The assignment operator (`=`) doesn’t return a value, to prevent it from being mistakenly used when the equal to operator (`==`) is intended.

## Assignment Operator#

The assignment operator (`a` = `b`) initializes or updates the value of a with the value of `b`:

``const b = 10let a = 5a = b// a is now equal to 10``

## Arithmetic Operators#

LichenScript supports the four standard arithmetic operators for all number types:

• Addition (`+`)
• Subtraction (`-`)
• Multiplication (`*`)
• Division (`/`)
``1 + 2       // equals 35 - 3       // equals 22 * 3       // equals 610.0 / 2.5  // equals 4.0``

The addition operator is also supported for `string` concatenation:

``"hello, " + "world"  // equals "hello, world"``

## Comparison Operators#

LichenScript supports the following comparison operators:

• Equal to (a `==` b)
• Not equal to (a `!=` b)
• Greater than (a `>` b)
• Less than (a `<` b)
• Greater than or equal to (a `>=` b)
• Less than or equal to (a `<=` b)

Each of the comparison operators returns a Bool value to indicate whether or not the statement is true:

``1 == 1   // true because 1 is equal to 12 != 1   // true because 2 isn't equal to 12 > 1    // true because 2 is greater than 11 < 2    // true because 1 is less than 21 >= 1   // true because 1 is greater than or equal to 12 <= 1   // false because 2 isn't less than or equal to 1``