Ein String ist allgemein eine Zeichenfolge. In Javascript ist ein String eine Folge von "16 bit Unicode Zeichen".
Literale | Syntax | Beispiele |
String | /(".*")|('.*')/ | "abc", 'de f', "x\"", '' |
""
oder ''
) wird Leerstring genannt.
Sonderzeichen | Bedeutung |
\n | Line feed (newline) |
\t | Horizontal tab (Ctrl-I) |
\' | Single quotation mark |
\" | Double quotation mark |
\\ | Backslash |
// ok "Ausgabe über\nzwei Zeilen" '\tAusrichtung\tmit\tTabulator' "Klaus' Spruch: \"Hallo!\"" 'c:\\ord\\ner' // nicht ok "text' "zwei Zeilen" 'c:\programme'
Der binäre Operator +
verbindet zwei Strings zu Einem.
var s = "wie " + 'geht\'s'; // wie geht's
Wenn wenigstens einer der beiden Operanden ein String ist, dann ist auch das Ergebnis ein String.
+ | Number/Boolean | String |
Number/Boolean | Number | String |
String | String | String |
var zweizeiler = "zeile eins"+ "zeile zwei"; "level" + 4 + 2 // level42 3+1+"2" // 42
Javascript stellt drei Funktionen zur Konvertierung zwischen den Datentypen Number und String zur Verfügung.
Funktion | Bedeutung |
num.toString(basis) | Konvertierung einer Zahl num zur Basis basis und Rückgabe als String. |
parseInt(str, basis) | Konvertierung einer Zahl in str angegeben bzgl. der Basis basis in eine Dezimalzahl. |
parseFloat(str) | Konvertierung einer Zahl in str in eine dezimale Gleitkommazahl. |
var hex = 0x2A; var bin = hex.toString(2); // "101010" parseInt(bin, 2) // 42 parseInt(hex) // 42 (42).toString(16) // "2a" parseInt("123Express") // 123 parseInt("3.14") // 3 parseFloat("0.314e1") // 3.14
Eigenschaft/Methode | Bedeutung |
str.length | Liefert die Anzahl der Zeichen des Strings str. |
str.charAt(idx) | Liefert das Zeichen innerhalb des Strings str an der Stelle idx. (Beachte: Das erste Zeichen eine Strings hat den Index '0'). |
str.charCodeAt(idx) | Liefert den Unicode-Wert des Zeichens innerhalb des Strings str an der Stelle idx. |
str.indexOf(substr[,idx]) | Sucht innerhalb eines Strings str den String substr beginnend an der Stelle idx. Bei fehlendem idx wird von Beginn an gesucht. |
str.split(separator) | Trennt einen String str an jeder Stelle an der ein Zeichen aus sep vorkommt auf und liefert die entstehenden Strings als Array zurück. |
str.substr(idx[,length]) | Liefert einen Teilstring von str beginnend an der Stelle idx mit der Länge length. Fehlt length, dann besitzt der Teilstring alle weiteren Zeichen bis zum Ende von str. |
str.toLowerCase() | Liefert eine Kopie von str zurück, in der alle Buchstaben in Kleinbuchstaben gewandelt sind. |
str.toUpperCase() | Liefert eine Kopie von str zurück, in der alle Buchstaben in Grossbuchstaben gewandelt sind. |
Der Datentyp _Boolean repräsentiert einen Wahrheitswert.
Literale | Syntax | Beispiele |
Boolean | /(true|false)/ | - |
var go = true; while (go) { go = false; }
Für die Konvertierung anderer Datentypen in einen Bool'schen Wert gilt die Regel:
Die Werte
0, "", NaN, null, undefined
liefernfalse
, alle anderen Wertetrue
.
true
=> 1false
=> 0true
=> "true"
false
=> "false"
true + true // 2 "alles " + true // alles true
Operator | Bedeutung | Beispiele |
== | Gleichheit der Werte ggfs. nach Typanpassung | "42" == 42 // true
|
!= | Ungleichheit der Werte auch nach Typanpassung | "42" != 42 // false
|
=== | Gleichheit der Werte und Datentypen | "42" === 42 // false
|
!== | Ungleichheit der Werte oder Datentypen | "42" !== 42 // true
|
> | Grösser als | 42 > 43 // false
|
< | Kleiner als | 42 < 43 // true
|
>= | Grösser oder gleich | 42 >= 43 // false
|
<= | Kleiner oder gleich | 42 <= 43 // true
|
&& | logisches Und | 2 < 3 && 3 >= 4 // false
|
|| | logisches Oder | 2 < 3 || 3 >= 4 // true
|
! | Negation | 2 < 3 && !(3 >= 4) // true
|
!!"" == true // false
Operatoren führen eine Operation mit einem oder mehreren Operanden durch.
@X
X @ Y
X ? Y : Z
Operator type | Operators |
member | . [] |
call / create instance | () new |
negation/increment | ! ~ - + ++ - - typeof void delete |
multiply/divide | * / % |
addition/subtraction | + - |
bitwise shift | << >> >>> |
relational | < <= > >= in instanceof |
equality | == != === !== |
bitwise-and | & |
bitwise-xor | ^ |
bitwise-or | | |
logical-and | && |
logical-or | || |
conditional | ?: |
assignment | = += -= *= /= %= <<= >>= >>>= &= ^= |= |
comma | , |
Die Operatoren in der Tabelle besitzen abnehmende Priorität, d.h. Operatoren in der ersten Zeile haben die höchste und in der letzten Zeile die niedrigste Priorität. Operatoren in derselben Zeile besitzen die gleiche Priorität.
[Quelle: MozillaDeveloper Center]
8*5 + 2
) x = (90 - 6)/2
)var s = "hallo", vocals=0; for (var i=0; i<s.length; i++) { switch (s.charAt(i)) { case "a": case"A": case "e": case"E": case "i": case"I": case "o": case"O": case "u": case"U": vocals++; break; default: break; } } window.alert(vocals + " Vokale gefunden!");
// Dies ist ein *einzeiliger* Kommentar var x = 42; /* Und nun ein mehr- zeiliger Kommentar */
if … else
if (bedingung) { anweisung* } else { anweisung* }
switch
switch(ausdruck) { case literal1: anweisung* break; ... case literalN: anweisung* break; default: anweisung* break; }
do … while
do { anweisung* } while (bedingung);
for
for (initialisierung; bedingung; inkrementierung) {
anweisung*
}
for … in
for (eigenschaft in object) { anweisung* }
while
while (bedingung) {
anweisung*
}