La différence entre String.slice et String.substring en JavaScript

Tahseen Tauseef 12 octobre 2023
  1. Qu’est-ce que String et prototype en JavaScript
  2. Qu’est-ce que slice et substring en JavaScript
  3. Quelles sont les similitudes entre slice et substring en JavaScript
  4. Quelles sont les différences entre slice et substring en JavaScript
La différence entre String.slice et String.substring en JavaScript

Dans cet article de didacticiel, nous discuterons de ce qu’est une tranche et une sous-chaîne en JavaScript et ce qui les différencie et ce qui ne l’est pas ; les questions suivantes seront abordées dans cet article :

  • Qu’est-ce que la chaîne et le prototype
  • Qu’est-ce que slice et substring
  • Quelles sont les similitudes entre slice et substring
  • Quelles sont les différences entre slice et substring

Qu’est-ce que String et prototype en JavaScript

Commençons par discuter de l’objet String. L’objet chaîne est utilisé pour représenter une séquence de caractères, et il est couramment utilisé avec des données qui doivent être représentées sous forme de texte.

Remarque : les valeurs primitives ne peuvent pas avoir de propriétés ou de méthodes.

JavaScript traite les valeurs primitives comme des objets en les enveloppant dans un “encapsuleur d’objet” spécial qui fournit des fonctionnalités supplémentaires telles que des méthodes et des propriétés d’assistance. Chaque type primitif a son encapsuleur d'objet ; le type de chaîne est appelé String.

Concentrons notre attention sur prototype, un prototype est une propriété globale avec tous les objets JavaScript. Il permet d’ajouter de nouvelles méthodes et propriétés aux objets existants.

function footballClub(name, stadium, founded) {
  this.name = name;
  this.stadium = stadium;
  this.founded = founded;
}
footballClub.prototype.firstTeamPlayers = 11;

const FCB = new footballClub('FC Barcelona', 'Camp Nou', 1899);
console.log(FCB.firstTeamPlayers);
// logs 11

Production :

11

Dans l’exemple ci-dessus, chaque instance de footballClub aura la propriété firstTeamPlayers définie sur 11. De même, la propriété prototype permet d’ajouter de nouvelles propriétés et méthodes aux chaînes.

Qu’est-ce que slice et substring en JavaScript

slice et substring sont des propriétés prototypes qui existent sur toutes les chaînes JavaScript sous la forme de fonctions. Les fonctions slice et substring extraient une partie d’une chaîne et la renvoient comme une nouvelle chaîne. La méthode slice ne modifie pas la chaîne d’origine.

Il prend deux arguments, le premier argument spécifie l’index de départ à partir duquel commencer l’extraction (l’index commence à 0) et le deuxième argument spécifie l’index de fin de la chaîne (l’index de fin n’est pas inclus dans le cadre de l’extraction)

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(3, 8);
let substringStr = str.substring(3, 8);
console.log(slicedStr)     // logs: na be
console.log(substringStr)  // logs: na be

Production :

na be
na be

Quelles sont les similitudes entre slice et substring en JavaScript

Si start est égal à stop, slice et substring renvoient une chaîne vide.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 8);
let substringStr = str.substring(9, 8);
console.log(slicedStr)     // logs:
console.log(substringStr)  // logs:

Production :

Si stop (deuxième argument) n’inclut pas à la fois slice et substring, extrait les caractères jusqu’à la fin de la chaîne.

let str = "Gonna be extracted,Help!"; 
let slicedStr = str.slice(3);
let substringStr = str.substring(3);
console.log(slicedStr) // logs: na be extracted,Help!
console.log(substringStr) // logs: na be extracted,Help!

Production :

na be extracted,Help!
na be extracted,Help!

Si l’argument start ou stop est supérieur à la longueur de la chaîne, la longueur de la chaîne sera utilisée à la place de l’argument passé.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(1, 100);
let substringStr = str.substring(1, 100);
console.log(slicedStr)     // logs: onna be extracted,Help!
console.log(substringStr)  // logs: onna be extracted,Help!

Production :

onna be extracted,Help!
onna be extracted,Help!

Quelles sont les différences entre slice et substring en JavaScript

Si l’argument start est supérieur à l’argument stop dans slice, il renverra une chaîne vide, tandis que substring échangera ces deux arguments si tel est le cas.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 3);
let substringStr = str.substring(8, 3);
console.log(slicedStr)     // logs:
console.log(substringStr)  // logs: na be

Production :

na be

Si l’argument start ou l’argument stop est négatif ou est NaN, il est traité comme si sa valeur était 0 dans substring tandis que dans slice si l’argument start est négatif, il définit le caractère de la fin de la chaîne.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(-1);
let substringStr = str.substring(-1);
console.log(slicedStr)     // logs: !
console.log(substringStr)  // logs: Gonna be extracted,Help!

Production :

!
Gonna be extracted,Help!

Article connexe - JavaScript String