You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
3.4 KiB

## Anything to Declare ? 🛂
### Variables
Values, need a way to be identified, that's why we use variables.\
They add meaning to a value by _pointing_ to it.
It's like a **label**, a way to name things.
If we say `20`, it doesn't carry much meaning, _`20` what ?_
Imagine we are talking about what's in your backpack, you have 20 pairs of
socks.
_Now that's a lot of socks !_
> We defined _what_ we have (pair of socks) and it's _value_ (20)
#### Example
An `identifier` is used to _define_ what it is, using this syntax:
```js
let pairOfSocks = 20
```
> 😱 Woa what's all this ?!
Let's explain each parts:
#### Keyword: `let`
Firstly, a keyword, `let`.
> A `keyword` is a special word that JS knows about, it is used to tell the
> computer to perform a specific action.
`let` that indicate the script that it's defining a new variable.
#### Identifier
After that, it need a **valid** identifier.
In this case it's `pairOfSocks`, we chose what ever we want here that will be
meaningful, _(it's often hard to name things correctly)_.
A few rules to apply to make sure an identifier is valid:
- No space allowed _(`pair of socks` would be 3 distinct identifiers)_
- Not **starting** with a number _(that's reserved for number values)_
- Not being a reserved keyword _(for example using `let`)_
- No special characters
As such we use what's called `camelCase`.
> Note that in JS, it is a convention to not uppercase the first letter as this
> is reserved for special declarations, we won't go into details now.
```js
let pair of socks = 20 // invalid because of spaces
let 'pair of socks' = 20 // invalid because identifiers are not strings
let pair-of-socks = 20 // invalid because of special character -
let pair.of.socks = 20 // invalid because of special character /
let 20PairOfSocks = 20 // invalid because beginning with a number
let PairOfSocks = 20 // valid but incorrect because of the uppercase
let pairOfSocks = 20 // Just right
let let = true // invalid because `let` is a JS keyword
```
#### Operator: `=`
The special character `=` is an **operator**, like in math, they are used to
define specific operations.
In this case, `=` define the `assignation` operation.
It means assigning a value to our variable.
This is what **links** the choosen `identifier` with our `value`.
#### Value
Lastly, a value, like the one you already know: `string`, `number` and
`boolean`.
Full example with descriptive comments:
```js
// ↙ keyword ↙ assignation operator
let comicBookTitle = 'Tintin in Tibet'
// ↖ identifier ↖ the value (here a string)
```
Using multiple variables to define something more complex:
```js
// Example of variables that could represent a transaction:
let currency = 'EURO'
let amount = 77.5
let cashPayment = false
// Use them with console.log, like a normal value:
console.log('You have to pay:')
console.log(amount)
console.log('in')
console.log(currency)
console.log('using cash:')
console.log(cashPayment)
```
### Instructions
All right, before we can embark on this adventure, you are going to tell us
more about yourself using **variables**.
Declare three variables:
- `age`: your age as a `number`
- `name`: your name as a `string`
- `secureLuggage`: which will be a `boolean` stating whether or not your
luggage contains dangerous materials. _(for obvious security reasons)_
> PS: Remember you are trying to board a plane, so use reasonable values.