JavaScript: String.prototype
String.prototype
is the value of the property key "prototype"
of the function String
. [see String Object]
console.log( String.hasOwnProperty("prototype"), );
Type
Type of String.prototype
is Object
.
console.log( typeof String.prototype === "object", );
String.prototype
is a string object.
console.log( Reflect.apply(Object.prototype.toString, String.prototype, []) === "[object String]", ); console.log(String.prototype.length === 0); console.log("a" + String.prototype + "b" === "ab");
Parent
Parent of String.prototype
is Object.prototype.
console.log( Reflect.getPrototypeOf(String.prototype) === Object.prototype, );
Purpose
Purpose of String.prototype
is to provide methods and properties useful for all string objects.
String.prototype
is the parent of all string objects.
console.log( Reflect.getPrototypeOf(Object("abc")) === String.prototype, ); // Object("abc") turns primitive to object type
String is Immutable
All JavaScript string methods return a new string. That is, if a variable named “x” is a string, as in x = "abc";
, and you call a string method such as x.slice(…)
, “x” is not changed. (we say that
JavaScript string is immutable.)
String is 16 Bits Unit Sequence
[see JavaScript: String Code Unit]
Index of String
Many string methods take index (integer) as argument, or return a index.
Some string methods also allow negative index. Negative index usually means count from right to left, starting at the end of string, but some method treat negative index as 0.
The most intuitive way to understand index is to think of index as between the chars. Index 0 is before first character. Index 1 is after first character. Index -1 is the place between last character and second last character.
Properties
join, trim, pad
substring
Search string
Search / replace with regex
Convert to array
Convert letter case
- toLowerCase
str.toUpperCase
str.toLocaleLowerCase
str.toLocaleUpperCase
Get character and Unicode
misc
str.toString
- Return the string itself.
str.valueOf
- Return the string itself.
str.localeCompare(str)
- Return negative, 0, or positive integer, by comparing str with str, in a locale aware manner. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
str.normalize(form)
- normalize a string according to Unicode Standard Annex #15 Unicode Normalization Forms. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
String.prototype[Symbol.iterator]
- return the Iterator.