Ein String-Literal kann mit einfachen oder doppelten Anführungszeichen begrenzt werden. Jedes Zeichen hat 16 Bit. Ein Zeichen ist ein String.
Ein String ist unveränderlich. Ein String hat die length-Eigenschaft:
Strings können mit + zu einem neuen String verkettet werden.
Ausgabe:\n'; s += '\nf='+f+', w='+w+', ss='+ss; s += '
Als Properties vom Prototypen besitzen Strings eingebaute Methoden, etwa
Jedes Zeichen hat 16 Bit. ECMAScript gestattet die Unicode-Schreibweise. Die Browser unterstützen bedingt auch die hex- und okt-Schreibweise:
Die Ausgabe liefert: HALLO HALLO HALLO HALLO HALLO HALLO H A L L O
Beispiele für unterschiedliche Schreibweisen bei ECMAScript-Zeichenketten:
Die \x41usgabe\040liefert:', html2 = '<p>Hallo Welt</p>', html3 = "Hallo 'ECM\u0041'-Unicode-Welt", html4 = '<\/p>'; document.write(html1 + html2+ html3 + html4);
Die Ausgabe liefert
Hallo Welt
Einfache ECMAScript-Datentypen sind
Zahlen (Number, if(typeof ...) === 'number'){...})
Strings (String, if(typeof ...) === 'string'){...}),
Boolesche Werte ( true, false ),
null (Null) und
nicht definiert (if(typeof ...) === undefined){...})
Alle anderen ECMAScript-Daten sind Objekte (Object), obwohl auch gilt:
typeof( function(){} ) liefert 'function'
typeof( { } ) liefert 'object'
Es werden die Variablen-Typen von u, x, ok, br betrachtet:
'; r += "typeof(u)=" + typeof(u) + br; r += "typeof(ok)=" + typeof(ok) + br; r += "typeof(x)=" + (typeof x); r += "<\/p>"; document.write(r);
Die Ausgabe liefert: typeof(u) = undefined typeof(ok) = boolean (typeof x) = number
'ECM\u0041'-Unicode<\/blockquote>", typ = { // Literal-Objekt x:4712, // u:u, von:function(v){return (typeof v)+'';} }; var r = ''; r += "typ.von(typ)=" + typ.von(typ); r += "typ.von(typ.u)=" + typ.von(typ.u); r += "typ.von(typ.x)=" + typ.von(typ.x); r += "typ.von(typ.von)=" + typ.von(typ.von); r += "<\/pre>"; document.write(r);
'; r += "typ.von(typ)=" + typ.von(typ); r += "typ.von(typ.u)=" + typ.von(typ.u); r += "typ.von(typ.x)=" + typ.von(typ.x); r += "typ.von(typ.von)=" + typ.von(typ.von); r += "<\/pre>"; document.write(r);
Die Ausgabe liefert: typ.von(typ) = object typ.von(typ.u) = undefined typ.von(typ.x) = number typ.von(typ.von)= function
Ein ECMAScript-String braucht String-Begrenzungszeichen ( wie "..." oder '...' ) und kann "white-Char" (wie z.B. '\b', '\t', '\n', '\f', '\r' ) und Unicode-Zeichen enthalten.
Soll ein Unicode-Text in einen ECMAScript-String gewandelt werden, so gibt es mehrere Umwandlungsmöglichkeiten wie z.B.
Umwandlung des Unicode-Textes in einen "%hh_String", der dann ohne Stringbegrenzer ist und zwischen Stringbegrenzern "%hh%hh%hh..." oder '%hh%hh%hh...' stehen kann. Für die Umwandlung kann die Funktion
%hh-Folge = window.escape(Unicode-Text)
verwendet werden. Für die Rücktransformation wird unescape() verwendet.
Für die Umwandlung eines Unicode-Textes in einen ECMAScript-String können reguläre Ausdrücke verwendet werden. Die Funktion quote_string(s) wandelt einen Unicode-Text in einen ECMAScript-String.
Umwandlung eines UTF-8 Unicode-Textes in eine Bytefolge und dann in einen Base64 String. Ein Base64-String enthält lediglich die Zeichen "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";