JavaScript -strings
JavaScript-strings zijn voor het opslaan en manipuleren van tekst.
Een JavaScript-tekenreeks bestaat uit nul of meer tekens tussen aanhalingstekens.
Voorbeeld
let text = "John Doe";
U kunt enkele of dubbele aanhalingstekens gebruiken:
Voorbeeld
let carName1 = "Volvo XC60";
// Double quotes
let carName2 = 'Volvo XC60'; // Single quotes
U kunt aanhalingstekens in een tekenreeks gebruiken, zolang ze niet overeenkomen met de aanhalingstekens rond de tekenreeks:
Voorbeeld
let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
Draadlengte
Gebruik de ingebouwde length
eigenschap om de lengte van een tekenreeks te vinden:
Voorbeeld
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
Ontsnap karakter
Omdat tekenreeksen tussen aanhalingstekens moeten worden geschreven, zal JavaScript deze tekenreeks verkeerd begrijpen:
let text = "We are the so-called "Vikings" from the north.";
De string wordt gehakt tot "We are the zogenaamde ".
De oplossing om dit probleem te voorkomen, is om het backslash-escape-teken te gebruiken .
De backslash ( \
) escape-teken verandert speciale tekens in tekenreeksen:
Code | Result | Description |
---|---|---|
\' | ' | Single quote |
\" | " | Double quote |
\\ | \ | Backslash |
De reeks \"
voegt een dubbel aanhalingsteken in een string in:
Voorbeeld
let text = "We are the so-called \"Vikings\" from the north.";
De reeks \'
voegt een enkel aanhalingsteken in een tekenreeks in:
Voorbeeld
let text= 'It\'s alright.';
De reeks \\
voegt een backslash in een tekenreeks in:
Voorbeeld
let text = "The character \\ is called backslash.";
Zes andere escape-reeksen zijn geldig in JavaScript:
Code | Result |
---|---|
\b | Backspace |
\f | Form Feed |
\n | New Line |
\r | Carriage Return |
\t | Horizontal Tabulator |
\v | Vertical Tabulator |
De 6 ontsnappingstekens hierboven zijn oorspronkelijk ontworpen om schrijfmachines, teletypes en faxapparaten te besturen. Ze hebben geen enkele zin in HTML.
Lange coderegels doorbreken
Voor de beste leesbaarheid vermijden programmeurs vaak coderegels die langer zijn dan 80 tekens.
Als een JavaScript-instructie niet op één regel past, kunt u deze het beste afbreken na een operator:
Voorbeeld
document.getElementById("demo").innerHTML =
"Hello Dolly!";
U kunt een coderegel binnen een tekstreeks ook opsplitsen met een enkele backslash:
Voorbeeld
document.getElementById("demo").innerHTML =
"Hello \
Dolly!";
De \
methode is niet de voorkeursmethode. Het heeft misschien geen universele ondersteuning.
Sommige browsers staan geen spaties achter het \
teken toe.
Een veiligere manier om een string op te splitsen, is om string-toevoeging te gebruiken:
Voorbeeld
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
U kunt een coderegel niet opsplitsen met een backslash:
Voorbeeld
document.getElementById("demo").innerHTML = \
"Hello Dolly!";
JavaScript-strings als objecten
Normaal gesproken zijn JavaScript-tekenreeksen primitieve waarden, gemaakt op basis van letterlijke waarden:
let x = "John";
Maar strings kunnen ook als objecten worden gedefinieerd met het trefwoord new
:
let y = new String("John");
Voorbeeld
let x = "John";
let y = new String("John");
Maak geen Strings-objecten.
Het new
sleutelwoord compliceert de code en vertraagt de uitvoeringssnelheid.
String-objecten kunnen onverwachte resultaten opleveren:
Bij gebruik van de ==
operator zijn x en y gelijk :
let x = "John";
let y = new String("John");
Bij gebruik van de ===
operator zijn x en y niet gelijk :
let x = "John";
let y = new String("John");
Let op het verschil tussen (x==y)
en (x===y)
.
(x == y)
waar of niet waar?
let x = new String("John");
let y = new String("John");
(x === y)
waar of niet waar?
let x = new String("John");
let y = new String("John");
Het vergelijken van twee JavaScript-objecten levert altijd false op .
Volledige tekenreeksreferentie
Ga voor een volledige String-referentie naar onze:
Volledige JavaScript-stringreferentie .
De referentie bevat beschrijvingen en voorbeelden van alle tekenreekseigenschappen en -methoden.