recursal/MDN huggingface dataset:
Date.prototype.setHours()
=========================

La méthode **`setHours()`** définit les heures pour une date donnée, selon l'heure locale, et renvoie le nombre de millièmes de secondes écoulées entre le 1er janvier 1970 00:00:00 UTC et la nouvelle date mise à jour.

Exemple interactif
------------------

Syntaxe
-------


```js
dateObj.setHours(valeurHeures[, valeurMinutes[, valeurSecondes[, valeurMs]]])
```

### Versions antérieures à JavaScript 1.3


```js
dateObj.setHours(valeurHeures);
```

### Paramètres

`valeurHeures`

Un entier normalement compris entre 0 et 23, représentant l'heure. Si la valeur est supérieure à 23, la valeur de l'heure sera incrémentée d'autant d'heures supplémentaires.

`valeurMinutes`

Paramètre optionnel, un entier normalement compris entre 0 et 59, représentant les minutes. Si la valeur est supérieure à 59, la valeur de l'heure sera incrémentée d'autant de minutes supplémentaires.

`valeurSecondes`

Paramètre optionnel, un entier normalement compris entre 0 et 59, représentant les secondes. Si vous indiquez le paramètre `valeurSecondes`, vous devez aussi renseigner `valeurMinutes`. Si la valeur est supérieure à 59, l'heure sera incrémentée d'autant de secondes supplémentaires.

`valeurMs`

Paramètre optionnel, un entier normalement compris entre 0 et 999, représentant les millièmes de secondes. Si vous indiquez `valeurMs`, vous devez aussi renseigner `valeurMinutes` et `valeurSecondes`. Si la valeur fournie est supérieure à 999, l'heure sera incrémentée d'autant de millisecondes supplémentaires.

### Valeur de retour

Le nombre de millisecondes écoulées entre le premier janvier 1970 à minuit, UTC et la date mise à jour.

Description
-----------

Si vous ne renseignez pas `valeurMinutes`, `valeurSecondes` et `valeurMs`, les valeurs renvoyées par les méthodes `getMinutes()`, `getSeconds()`, et `getMilliseconds()` seront utilisées.

Si un des paramètres que vous renseignez est en dehors des limites attendues, `setHours()` tentera de mettre à jour la date en conséquence. Par exemple, si vous utilisez 100 pour `valeurSecondes`, les minutes seront incrémentées de 1 (min + 1), et 40 sera utilisé pour les secondes.

Exemples
--------

### Utiliser `setHours()`


```js
var leGrandJour = new Date();
leGrandJour.setHours(7);
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.sethours |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Date.prototype.getHours()`
* `Date.prototype.setUTCHours()`
Date.prototype.toString()
=========================

La méthode **`toString()`** renvoie une chaîne de caractères représentant l'objet `Date`.

Exemple interactif
------------------

Syntaxe
-------


```js
dateObj.toString();
```

### Valeur de retour

Une chaîne de caractères représentant la date indiquée.

Description
-----------

L'objet `Date` remplace la méthode `toString()` de l'objet `Object` ; il n'hérite pas de `Object.prototype.toString()`. Pour les objets `Date`, la méthode `toString()` renvoie une représentation textuelle de l'objet.

La méthode `toString()` renvoie toujours une chaîne de caractères représentant une date en anglais américain. Ce format a été standardisé avec ES2018 et peut être décrit de la façon suivante :

* Le jour de la semaine avec les trois premières lettres du jour en anglais (ex. « Sat »)
* Un espace
* Le mois avec les trois premières lettres du mois en anglais (ex. « Sep »)
* Un espace
* La date du jour dans le mois sur deux chiffres (ex. « 01 »)
* Un espace
* L'année sur 4 chiffres (ex. « 2018 »)
* Un espace
* L'heure sur deux chiffres (ex. « 14 »)
* Un deux-points (:)
* Les minutes sur deux chiffres (ex. « 53 »)
* Un deux-points (:)
* Les secondes sur deux chiffres (ex. « 26 »)
* Un espace
* La chaîne de caractères « GMT »
* Le signe du décalage horaire par rapport à GMT :
    + La chaîne "+" pour les décalages positifs (0 ou plus)
    + La chaîne "-" pour les décalages strictement négatifs
* L'heure de décalage sur deux chiffres
* Les minutes de décalage sur deux chiffres
* Et, éventuellement, le nom du fuseau horaire avec
    + Un espace
    + Une parenthèse ouvrante (« ( »)
    + Une chaîne de caractères, pouvant varier selon l'implémentation, qui désigne le fuseau horaire. Ce peut être une abréviation ou un nom complet.
    + Une parenthèse fermante (« ) »)

Avant ES2018, le format de la chaîne de caractères renvoyé pouvait varier selon l'implémentation.

JavaScript appelle la méthode `toString()` automatiquement quand une date doit être representée sous forme d'un texte ou quand une date est référencée lors d'une concatenation de chaînes de caractères.

`toString()` est une méthode générique. Si `this` n'est pas une instance de `Date`, elle renverra "Invalid Date".

Exemples
--------

### Utiliser `toString()`

L'exemple suivant assigne la valeur de `toString()` de l'objet `Date` à `maVar` :


```js
var x = new Date();
var maVar = x.toString(); // assigne une valeur à maVar similaire à :
// Mon Sep 28 1998 14:36:22 GMT-0700 (PDT)
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.tostring |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Object.prototype.toString()`
* `Date.prototype.toDateString()`
* `Date.prototype.toLocaleString()`
* `Date.prototype.toTimeString()`
Date.prototype.valueOf()
========================

La méthode **`valueOf()`** renvoie la valeur primitive d'un objet `Date`.

Exemple interactif
------------------

Syntaxe
-------


```js
date.valueOf();
```

### Valeur de retour

Le nombre de millisecondes écoulées entre le premier janvier 1970, minuit UTC et la date indiquée.

Description
-----------

La méthode `valueOf()` renvoie la valeur primitive d'un objet `Date` sous forme d'un nombre. Ce nombre correspond au nombre de millisecondes écoulées depuis le 1 janvier 1970 00h00 GMT.

D'un point de vue fonctionnel, cette méthode est équivalente à `Date.prototype.getTime()`.

Cette méthode est souvent appelée en interne par le moteur JavaScript et n'est pas utilisée de façon explicite dans des scripts.

Exemples
--------

### Utiliser `valueOf()`


```js
var x = new Date(56, 6, 17);
var maVar = x.valueOf(); // maVar vaut -424713600000
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.valueof |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Object.prototype.valueOf()`
* `Date.prototype.getTime()`
Date.prototype.getUTCFullYear()
===============================

La méthode **`getUTCFullYear()`** renvoie l'année de la date renseignée, d'après UTC.

Exemple interactif
------------------

Syntaxe
-------


```js
dateObj.getUTCFullYear();
```

### Valeur de retour

La valeur renvoyée par `getUTCFullYear()` est un nombre correspondant à l'année de la date indiquée selon le temps universel. Pour les dates entre les années 1000 et 9999, `getUTCFullYear()` renvoie un nombre à quatre chiffres, par exemple 1995.

Exemples
--------

### Utiliser `getUTCFullYear()`

L'exemple suivant assigne une valeur à 4 chiffres, l'année courante, à la variable `annee`.


```js
var aujourdhui = new Date();
var annee = aujourdhui.getUTCFullYear();
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getutcfullyear |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Date.prototype.getFullYear()`
* `Date.prototype.setFullYear()`
Date.prototype.toJSON()
=======================

La méthode **`toJSON()`** renvoie une chaîne représentant l'objet `Date` sous forme JSON

Exemple interactif
------------------

Syntaxe
-------


```js
dateObj.toJSON();
```

### Valeur de retour

Une chaîne de caractères représentant la date indiquée.

Description
-----------

Les instances de `Date` identifient un instant précis dans le temps. Appeler `toJSON()` renvoie une chaîne de caractères formatée en JSON (en utilisant `toISOString()`), représentant la valeur de l'objet `Date`. Cette méthode est généralement utilisée, par défaut, pour sérialiser les objets `Date` lors d'une sérialisation au format JSON.

Exemple
-------

### Utiliser `toJSON()`


```js
var jsonDate = new Date().toJSON();
var retourVersDate = new Date(jsonDate);

console.log(jsonDate); //2015-10-26T07:46:36.611Z
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.tojson |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Date.prototype.toLocaleDateString()`
* `Date.prototype.toTimeString()`
* `Date.prototype.toUTCString()`
Date.prototype.getDate()
========================

La méthode **`getDate()`** retourne le jour du mois pour la date spécifiée d'après l'heure locale.

Exemple interactif
------------------

Syntaxe
-------


```js
dateObj.getDate();
```

### Paramètres

Aucun.

### Valeur de retour

Un entier entre 1 et 31 correspondant au jour du mois de la date indiquée selon l'heure locale.

Exemples
--------

### Utiliser `getDate()`

La seconde instruction ci-dessous affecte la valeur 25 à la variable `jour`, d'après la valeur de l'objet `Date` `Noel95`.


```js
var Noel95 = new Date("December 25, 1995 23:15:00");
var jour = Noel95.getDate();

console.log(jour); // 25
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getdate |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Date.prototype.getUTCDate()`
* `Date.prototype.getUTCDay()`
* `Date.prototype.setDate()`
ArrayBuffer.isView()
====================

La méthode **`ArrayBuffer.isView()`** renvoie `true` si l'argument passé est une des vues `ArrayBuffer`, comme par exemple un tableau typé ou une `DataView` ; `false` sinon.

Exemple interactif
------------------

Syntaxe
-------


```js
ArrayBuffer.isView(arg);
```

### Paramètres

`arg`

L'argument dont on souhaite savoir s'il est une vue.

### Valeur de retour

`true` si la valeur passée en argument est une des vues du tableau `ArrayBuffer`, `false` sinon.

Exemples
--------


```js
ArrayBuffer.isView(); // false
ArrayBuffer.isView([]); // false
ArrayBuffer.isView({}); // false
ArrayBuffer.isView(null); // false
ArrayBuffer.isView(undefined); // false
ArrayBuffer.isView(new ArrayBuffer(10)); // false

ArrayBuffer.isView(new Uint8Array()); // true
ArrayBuffer.isView(new Float32Array()); // true
ArrayBuffer.isView(new Int8Array(10).subarray(0, 3)); // true

var buffer = new ArrayBuffer(2);
var dv = new DataView(buffer);
ArrayBuffer.isView(dv); // true
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-arraybuffer.isview |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Les tableaux typés en JavaScript
ArrayBuffer.prototype.slice()
=============================

La méthode **`slice()`** renvoie un nouvel `ArrayBuffer` dont le contenu est une copie des octets du `ArrayBuffer` courant, contenus entre `début` (compris) et `fin` (non-compris).

Exemple interactif
------------------

Syntaxe
-------


```js
arraybuffer.slice(début[, fin])
```

### Paramètres

`début`

Indice (numérotation commençant à zéro) de l'octet à partir duquel découper le tableau.

`fin`

Indice de l'octet auquel finir la découpe du tableau. Si ce paramètre n'est pas fourni, le nouvel `ArrayBuffer` contiendra tous les octets entre `début` et la fin du `ArrayBuffer` courant. L'intervalle défini par les valeurs `début` et `fin` est réduit à un intervalle valide pour le tableau courant si nécessaire. Si la longueur du nouveau tableau `ArrayBuffer` sera négative, l'intervalle est réduit à zéro.

### Valeur de retour

Un nouvel objet `ArrayBuffer`.

Description
-----------

La méthode `slice` copie les octets contenus jusqu'au (au sens exclusif) paramètre `fin`. Si le paramètre `début` ou `fin` est négatif, il fera référence à l'indice à partir de la fin du tableau et non pas à l'indice à partir du début du tableau.

Exemples
--------

### Copier un `ArrayBuffer`


```js
var buf1 = new ArrayBuffer(8);
var buf2 = buf1.slice(0);
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-arraybuffer.prototype.slice |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `ArrayBuffer`
Constructeur ArrayBuffer()
==========================

Le **constructeur `ArrayBuffer()`** permet de créer des objets `ArrayBuffer`.

Exemple interactif
------------------

Syntaxe
-------


```js
new ArrayBuffer(longueur);
```

### Paramètres

`longueur`

La longueur, exprimée en octets, du tableau de mémoire tampon à créer.

### Valeur de retour

Un nouvel objet `ArrayBuffer` de la taille indiquée et dont le contenu des éléments est fixé à 0.

### Exceptions

Une exception `RangeError` est levée si `longueur` est supérieure ou égale à `Number.MAX_SAFE_INTEGER` (>= 2 \*\* 53) ou si elle est négative.

Exemples
--------

### Créer un objet `ArrayBuffer`

Dans cet exemple, on crée un tampon de 8 octets avec une vue `Int32Array` qui y fait référence :


```js
const buffer = new ArrayBuffer(8);
const vue = new Int32Array(buffer);
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-arraybuffer-constructor |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### Notes de compatibilité

À partir d'ECMAScript 2015, le constructeur `ArrayBuffer()` doit être appelé avec l'opérateur `new`. Appeler le constructeur `ArrayBuffer()` comme une fonction, c'est-à-dire sans le mot-clé `new`, déclenchera une exception `TypeError`.


```js
const buffer = ArrayBuffer(10);
// TypeError: calling a builtin ArrayBuffer constructor
// without new is forbidden
```



```js
const buffer = new ArrayBuffer(10);
```

Voir aussi
----------

* Une prothèse d'émulation pour `ArrayBuffer` avec la bibliothèque `core-js`
* Les tableaux typés en JavaScript
* `SharedArrayBuffer`
get ArrayBuffer[@@species]
==========================

La propriété d'accesseur **`ArrayBuffer[@@species]`** renvoie le constructeur `ArrayBuffer`.

Syntaxe
-------


```js
ArrayBuffer[Symbol.species];
```

Description
-----------

L'accesseur `species` renvoie le constructeur par défaut pour les objets `ArrayBuffer`. Les constructeurs des sous-classes peuvent surcharger ce symbole pour modifier l'affectation du constructeur.

Exemples
--------

La propriété `species` renvoie le constructeur par défaut, soit `ArrayBuffer` dans le cas des objets `ArrayBuffer` :


```js
ArrayBuffer[Symbol.species]; // function ArrayBuffer()
```


Pour un objet dérivé (par exemple une classe sur mesure `MonArrayBuffer`), le symbole `species` renverra le constructeur `MonArrayBuffer`. Il est possible de surcharger ce comportement pour renvoyer le constructeur `ArrayBuffer` :


```js
class MonArrayBuffer extends ArrayBuffer {
  // On surcharge species pour renvoyer
  // le constructeur parent ArrayBuffer
  static get [Symbol.species]() {
    return ArrayBuffer;
  }
}
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-get-arraybuffer-@@species |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `ArrayBuffer`
* `Symbol.species`
ArrayBuffer.prototype.byteLength
================================

L'accesseur **`byteLength`** est une propriété représentant la longueur d'un `ArrayBuffer` en octets.

Exemple interactif
------------------

Syntaxe
-------


```js
arraybuffer.byteLength;
```

Description
-----------

La propriété `byteLength` est un accesseur dont le mutateur associé vaut `undefined`. Cela signifie que cette propriété est en lecture seule. La valeur est déterminée lors de la construction du tableau et ne peut pas être changée par la suite. Cette propriété renvoie 0 si ce `ArrayBuffer` a été détaché.

Exemples
--------


```js
var buffer = new ArrayBuffer(8);
buffer.byteLength; // 8
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-get-arraybuffer.prototype.bytelength |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `ArrayBuffer`
Error.prototype.name
====================

La propriété **`name`** est une chaîne de caractères représentant le nom du type d'erreur. La valeur initiale est "Error".

Description
-----------

Par défaut, les instances d'`Error` reçoivent le nom "Error". La propriété `name`, associée à la propriété `message`, est utilisée par la méthode `Error.prototype.toString()` pour créer une représentation de l'erreur sous la forme d'une chaine de caractères.

Exemples
--------

### Déclencher une erreur personnalisée


```js
var e = new Error("Donnée malformée"); // e.name est "Error"

e.name = "ParseError";
throw e;
// e.toString() renverra "ParseError: Donnée malformée"
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-error.prototype.name |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Error.prototype.message`
* `Error.prototype.toString()`
Constructeur Error()
====================

Le constructeur **`Error`** permet de créer un objet représentant une erreur.

Syntaxe
-------


```js
new Error();
new Error(message);
new Error(message, options);
new Error(message, nomFichier);
new Error(message, nomFichier, numeroLigne);
```

### Paramètres

`message` Facultatif

Une description de l'erreur, compréhensible par un humain.

`options` Facultatif

Un objet avec les propriétés suivantes :

`cause` Facultatif

Une propriété qui indique la cause spécifique de l'erreur. Lors de l'interception puis du renvoi d'une erreur avec un autre message d'erreur, cette propriété devrait être utilisée afin de transmettre le message d'erreur original.


`nomFichier` Facultatif 
Non-standard

La valeur de la propriété `nomFichier` pour l'objet `Error` créé. Par défaut, il s'agit du nom du fichier contenant le code qui a invoqué le constructeur `Error()`.

`numeroLigne` Facultatif 
Non-standard

La valeur de la propriété `numeroLigne` pour l'objet `Error` créé. Par défaut, il s'agit du numéro de ligne du fichier contenant l'appel au constructeur `Error()`.

Exemples
--------

### Appel comme fonction ou comme constructeur

Lorsque le constructeur `Error()` est utilisé comme une fonction, c'est-à-dire sans l'opérateur `new`, il renverra un objet `Error`. Aussi, on aura un comportement équivalent qu'on appelle `Error` avec ou sans le mot-clé `new`.


```js
// cette ligne…
const x = Error(`J'ai été créé avec un appel de fonction !`);

// …aura le même effet que celle-ci.
const y = new Error(`J'ai été construite avec le mot-clé "new" !`);
```

### Transmettre une erreur en utilisant `cause`

Il est parfois utile d'intercepter une erreur avant de la ré-émettre avec un nouveau message. Dans de tels cas, afin de préserver les informations, on peut passer l'erreur d'origine dans le constructeur avec la propriété `cause` de l'option.


```js
try {
  bibliothequeAvecErreurs();
} catch (err) {
  throw new Error(`Nouveau message d'erreur`, { cause: err });
}
```


Pour un exemple plus détaillé, voir comment distinguer des erreurs semblables.

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-error-constructor |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Une prothèse d'émulation pour `Error`, avec la prise en charge des fonctionnalités récentes comme `cause`, avec la bibliothèque `core-js`
* `throw`
* `try…catch`
* Billet d'explication sur les causes d'erreur sur le blog v8 (en anglais)
Error.prototype.columnNumber
============================

**Non standard:** Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

La propriété **`columnNumber`** contient le numéro de la colonne, dans la ligne du fichier qui a déclenché l'erreur.

Exemples
--------

### Utiliser de `columnNumber`


```js
var e = new Error("Ne peut pas lire la donnée");
throw e;
console.log(e.columnNumber); // 0
```

Spécifications
--------------

Ne fait partie d'aucune spécification. Non standard.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Error.prototype.stack` 
Non-standard
* `Error.prototype.lineNumber` 
Non-standard
* `Error.prototype.fileName` 
Non-standard
Error.prototype.message
=======================

La propriété **`message`** est une description de l'erreur, écrite pour être lue par un humain.

Description
-----------

La propriété contient une brève description de l'erreur si elle est accessible, ou si elle a été définie. SpiderMonkey utilise intensivement la propriété `message` pour les erreurs d'exécution. La propriété `message`, combinée à la propriété `name`, est utilisée par la méthode `Error.prototype.toString()` pour créer une représentation de l'erreur sous la forme d'une chaine de caractères.

Par défaut, la propriété `message` est une chaine de caractères vide, mais ce comportement peut être remplacé pour une instance, en renseignant un message comme premier argument du constructeur `Error`.

Exemples
--------

### Déclencher une erreur personnalisée


```js
var e = new Error("Impossible de lire la donnée");
// e.message est "Impossible de lire la donnée"
throw e;
```

Spécifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-error.prototype.message |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Error.prototype.name`
* `Error.prototype.toString()`