.label[Vous avez quelque chose à déclarer ?]
JavaScript dispose de 3 manières de déclarer des variables.
- var est la méthode historique mais correspond à une portée (scope) très particulière (cf exos)
- let est la façon standard de déclarer une variable avec une portée "normale"
- const permet de déclarer une variable constante de type primitif ou une variable qui ne sera pas réallouée ultérieurement
(un tableau peut-être const par exemple)
---
## let et var : portées
```javascript
function swap(x, y) {
if (x != y) {
var old = x;
let tmp = x;
x = y;
y = tmp;
}
console.log(typeof(old)); // number
console.log(typeof(tmp)); // undefined
}
```
---
## Objets usuels
- `String, Number, Date, Math, Array, RegExp`
- Objets liés à la fenêtre : `Window, document, parent, top, frames[ ], screen`…
- Objets liés au navigateur : `Navigator, location, history`
- Objets liés au document HTML : `HTMLElement : Form, Checkbox, input, select, submit`, etc.
---
## Lecture de propriétés système
- navigator.appCodeName
- navigator.appName
- navigator.language
- navigator.platform
- navigator.plugins[]
- navigator.userAgent
- screen.availHeight
- screen.availWidth
---
## Méthodes de l'objet window
- open
- prompt
- alert
- confirm
---
## Ouvrir un lien vers une autre fenêtre
```html