String.prototype.at()

Renvoie le caractère à l’indice donné. Les indices négatifs se comptent depuis la fin, donc at(-1) est le dernier caractère.

Renvoie
Une chaîne d’un caractère (une unité UTF-16), ou undefined quand l’indice dépasse la chaîne.
Modifie l’original
Non
Sur cette page

Exemple

#
JavaScript
const word = 'Cosmos'

console.log(word.at(0))
console.log(word.at(-1))
console.log(word.at(-2))
console.log(word.at(10))
Console
C
s
o
undefined

Définition et utilisation

#

La méthode at() renvoie une chaîne d’un seul caractère à la position indiquée. Pour les indices positifs, elle se comporte comme les crochets, mais comprend en plus les indices négatifs : -1 est le dernier caractère, -2 l’avant-dernier, et ainsi de suite.

Grâce à cela, text.at(-1) suffit là où il fallait écrire text[text.length - 1]. Quand l’indice tombe hors de la chaîne, la méthode renvoie undefined. Les décimales sont tronquées vers zéro.

Comme les autres méthodes basées sur des indices, at() travaille en unités UTF-16. Pour les emoji occupant deux unités, elle ne renvoie que la moitié du caractère ; mieux vaut alors utiliser [...text].at(-1).

Syntaxe

#
Syntaxe
string.at(index)

Paramètres

#
  • index

    number

    Position du caractère. 0 est le premier caractère, et les valeurs négatives se comptent depuis la fin (-1 est le dernier).

Plus d’exemples

#
Comparaison avec les crochets et charAt()
JavaScript
const code = 'CSS'

console.log(code.at(-1))
console.log(code[-1])
console.log(code[code.length - 1])
console.log(code.charAt(-1) === '')
Console
S
undefined
S
true
Vérifier le dernier caractère
JavaScript
function ensureDot(sentence) {
  return sentence.at(-1) === '.' ? sentence : sentence + '.'
}

console.log(ensureDot('Leçon terminée'))
console.log(ensureDot('Module validé.'))
Console
Leçon terminée.
Module validé.

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • at() renvoie un seul caractère. Pour récupérer les derniers caractères, utilisez slice(-3).
  • text[-1] ne compte pas depuis la fin : il cherche une propriété nommée « -1 », donc renvoie undefined. Utilisez toujours at() pour les indices négatifs.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.