Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.

Il metodo includes() verifica se una stringa ne contiene un'altra desiderata, restituendo truefalse in base dell'esito della ricerca.
 

Sintassi

str.includes(searchString[, position])

Parametri

searchString
Una stringa da cercare all'interno di una stringa.
position
Opzionale. La posizione in questa stringa. La posizione in questa stringa in cui iniziare la ricerca di searchString; il valore predefinito è 0.

Valore di ritorno

true se la stringa contiene la stringa di ricerca; altrimenti, false.

Descrizione

Questo metodo permette di determinare se la stringa includa o no un'altra stringa.

Sensitività alle maiuscole

Il metodo includes() è sensibile alle maiuscole. Per esempio, la seguente espressione restituisce false:

'Blue Whale'.includes('blue'); // returns false

Esempi

Utilizzando includes()

var str = 'To be, or not to be, that is the question.';

console.log(str.includes('To be'));       // true
console.log(str.includes('question'));    // true
console.log(str.includes('nonexistent')); // false
console.log(str.includes('To be', 1));    // false
console.log(str.includes('TO BE'));       // false

Polyfill

Questo metodo è stato aggiunto alla specifica ECMAScript 2015 e potrebbe essere non disponibile ancora in tutte le implementazioni di JavaScript.

if (!String.prototype.includes) {
  String.prototype.includes = function(search, start) {
    'use strict';
    if (typeof start !== 'number') {
      start = 0;
    }
    
    if (start + search.length > this.length) {
      return false;
    } else {
      return this.indexOf(search, start) !== -1;
    }
  };
}

/*
https://github.com/FabioVergani/js-Polyfill_StringIncludes/blob/master/StringIncludes.js

(function(s){'use strict';
 var o=s.prototype,p='includes';
 o[p]||(o[p]=function(a,b){//search,start
  var e=this,i=isNaN(b)?0:b,t=a,l=t.length;
  return (l<1||((i+l)>e.length))?false:-1!==e.indexOf(t,i);
 });
})(String);

*/

 

 

 

 

Specificazioni

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.includes' in that specification.
Standard Definizioni inizili.
ECMAScript Latest Draft (ECMA-262)
The definition of 'String.prototype.includes' in that specification.
Draft  

Compatibilità Browser 

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Edge Opera Safari
Basic support 41 40 (40) No support 14393+ No support 9
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support No support 40.0 (40) No support No support No support

String.prototype.contains

In Firefox 18 - 39, il nome di questo metodo era contains(). E' stato rinominato inincludes() in bug 1102219 a causa del seguente motivo:

E' stato riportato che alcuni websites che utilizzano MooTools 1.2 non funzionavano su Firefox 17. Tale versione di MooTools controlla se String.prototype.contains() esiste e, se non esiste,  MooTools aggiunge una propria funzione. Con l'introduzione di questa funzione in Firefox 17, il comportamento di tale controllo è cambiato in un modo che il codice basato su String.prototype.contains()  non funzioni. Come risultato, l'implementazione  è stata disabilitata in Firefox 17 e String.prototype.contains() era disponibile nella versione successiva, in Firefox 18, quando outreach to MooTools stava conducendo al rilascio di MooTools version 1.2.6.

MooTools 1.3 forza la propria versione di  String.prototype.contains(), così i siti web che si affidano ad essa non vanno in break. Comunque si noti che la signature di  MooTools 1.3 e quella di ECMAScript 2015 per questo metodo differiscono (sul secondo argomento). Più avanti , MooTools 1.5+ ha cambiato la  signature per incontrare lo standard ES2015.

In Firefox 48, String.prototype.contains() è stato rimosso. Usare String.prototype.includes() solamente.

Vedere anche

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: Umberto81, mdnwebdocs-bot, DarioSacco, afalchi82, FabioVergani
Ultima modifica di: Umberto81,