Name Description Size
15.5.5.5.2-1-1.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-1-1 description: > String object supports bracket notation to lookup of data properties --- 516
15.5.5.5.2-1-2.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-1-2 description: String value supports bracket notation to lookup data properties --- 495
15.5.5.5.2-3-1.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-1 description: > String object indexing returns undefined for missing data properties --- 513
15.5.5.5.2-3-2.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-2 description: String value indexing returns undefined for missing data properties --- 498
15.5.5.5.2-3-3.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-3 description: > String object indexing returns undefined if the numeric index (NaN) is not an array index --- 529
15.5.5.5.2-3-4.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-4 description: > String object indexing returns undefined if the numeric index (Infinity) is not an array index --- 544
15.5.5.5.2-3-5.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-5 description: > String object indexing returns undefined if the numeric index ( 2^32-1) is not an array index --- 563
15.5.5.5.2-3-6.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-6 description: > String value indexing returns undefined if the numeric index (NaN) is not an array index --- 524
15.5.5.5.2-3-7.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-7 description: > String value indexing returns undefined if the numeric index (Infinity) is not an array index --- 539
15.5.5.5.2-3-8.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-3-8 description: > String value indexing returns undefined if the numeric index ( >= 2^32-1) is not an array index --- 561
15.5.5.5.2-7-1.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-7-1 description: > String object indexing returns undefined if the numeric index is less than 0 --- 514
15.5.5.5.2-7-2.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-7-2 description: > String value indexing returns undefined if the numeric index is less than 0 --- 509
15.5.5.5.2-7-3.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-7-3 description: > String object indexing returns undefined if the numeric index is greater than the string length --- 533
15.5.5.5.2-7-4.js --- info: | 15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing notation to look up non numeric property names. es5id: 15.5.5.5.2-7-4 description: > String value indexing returns undefined if the numeric index is greater than the string length --- 528
browser.js 0
fromCharCode
fromCodePoint
is-a-constructor.js --- esid: sec-ecmascript-standard-built-in-objects description: > The String constructor implements [[Construct]] info: | IsConstructor ( argument ) The abstract operation IsConstructor takes argument argument (an ECMAScript language value). It determines if argument is a function object with a [[Construct]] internal method. It performs the following steps when called: If Type(argument) is not Object, return false. If argument has a [[Construct]] internal method, return true. Return false. includes: [isConstructor.js] features: [Reflect.construct] --- 838
length.js --- esid: sec-properties-of-string-instances-length description: The "length" property of String objects info: | [...] 4. Return ? StringCreate(s, ? GetPrototypeFromConstructor(NewTarget, "%StringPrototype%")). includes: [propertyHelper.js] --- 870
numeric-properties.js --- esid: sec-string-exotic-objects-getownproperty-p description: > Property descriptor for numeric "own" properties of an exotic String object info: | [...] 12. Let resultStr be a String value of length 1, containing one code unit from str, specifically the code unit at index index. 13. Return a PropertyDescriptor{[[Value]]: resultStr, [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: false}. includes: [propertyHelper.js] --- 1032
prop-desc.js --- esid: sec-constructor-properties-of-the-global-object-string description: Property descriptor for String info: | Every other data property described in clauses 18 through 26 and in Annex B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] --- 599
proto-from-ctor-realm.js --- esid: sec-string-constructor-string-value description: Default [[Prototype]] value derived from realm of the newTarget info: | [...] 4. Return ? StringCreate(s, ? GetPrototypeFromConstructor(NewTarget, "%StringPrototype%")). 9.1.14 GetPrototypeFromConstructor [...] 3. Let proto be ? Get(constructor, "prototype"). 4. If Type(proto) is not Object, then a. Let realm be ? GetFunctionRealm(constructor). b. Let proto be realm's intrinsic object named intrinsicDefaultProto. [...] features: [cross-realm, Reflect] --- 936
prototype
raw
S8.12.8_A1.js --- info: | This should generate a TypeError, Cause we overload toString method so it return non Primitive value See ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325 es5id: 8.12.8_A1 description: Try to overload toString method --- 884
S8.12.8_A2.js --- info: | This should generate no TypeError, Cause we overload toString method so it return non Primitive value but we overloaded valueOf method too. See ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325 es5id: 8.12.8_A2 description: > Try to overload toString, that returned new Object, and valueOf methods --- 1047
S9.1_A1_T2.js --- info: | Result of primitive conversion from object is a default value for the Object es5id: 9.1_A1_T2 description: > Using operator Number. This operator calls ToPrimitive with hint Number --- 996
S9.8.1_A1.js --- info: If m is NaN, return the string "NaN" es5id: 9.8.1_A1 description: NaN convert to String by explicit transformation --- 735
S9.8.1_A2.js --- info: If m is +0 or -0, return the string "0" es5id: 9.8.1_A2 description: +0 and -0 convert to String by explicit transformation --- 531
S9.8.1_A3.js --- info: | If m is less than zero, return the string concatenation of the string "-" and ToString(-m) es5id: 9.8.1_A3 description: -1234567890 convert to String by explicit transformation --- 713
S9.8.1_A4.js --- info: If m is infinity, return the string "Infinity" es5id: 9.8.1_A4 description: +/-Infinity convert to String by explicit transformation --- 1005
S9.8.1_A6.js --- info: | If 1 <= s < 1e21 or -1e21 s < -1, return the string consisting of the k digits of the decimal representation of s (in order, with no leading zeroes), followed by n-k occurrences of the character '0' es5id: 9.8.1_A6 description: > Various integer numbers convert to String by explicit transformation --- 2907
S9.8.1_A7.js --- info: | If 1 <= s < 1e21 or -1e21 s < -1 and s has a fractional component, return the string consisting of the most significant n digits of the decimal representation of s, followed by a decimal point '.', followed by the remaining k-n digits of the decimal representation of s es5id: 9.8.1_A7 description: > 1.0000001 and -1.0000001 convert to String by explicit transformation --- 883
S9.8.1_A8.js --- info: | If 1 > s > -1, and -6 < n <= 0, return the string consisting of the character '0', followed by a decimal point '.', followed by -n occurrences of the character '0', followed by the k digits of the decimal representation of s es5id: 9.8.1_A8 description: Various float numbers convert to String by explicit transformation --- 1624
S9.8.1_A9_T1.js --- info: | Return the string consisting of the single digit of s, followed by lowercase character 'e', followed by a plus sign '+' or minus sign '-' according to whether n-1 is positive or negative, followed by the decimal representation of the integer abs(n-1) (with no leading zeros) es5id: 9.8.1_A9_T1 description: Various big numbers convert to String by explicit transformation --- 2417
S9.8.1_A9_T2.js --- info: | Return the string consisting of the single digit of s, followed by lowercase character 'e', followed by a plus sign '+' or minus sign '-' according to whether n-1 is positive or negative, followed by the decimal representation of the integer abs(n-1) (with no leading zeros) es5id: 9.8.1_A9_T2 description: > Various float numbers with many zeros convert to String by explicit transformation --- 2365
S9.8.1_A10.js --- info: | Return the string consisting of the most significant digit of the decimal representation of s, followed by a decimal point '.', followed by the remaining k-1 digits of the decimal representation of s, followed by the lowercase character 'e', followed by a plus sign '+' or minus sign '-' according to whether n-1 is positive or negative, followed by the decimal representation of the integer abs(n-1) (with no leading zeros) es5id: 9.8.1_A10 description: Various float numbers convert to String by explicit transformation --- 2109
S9.8_A1_T1.js --- info: Result of ToString conversion from undefined value is "undefined" es5id: 9.8_A1_T1 description: > Undefined values is undefined, void 0 and eval("var x"). Use explicit transformation --- 830
S9.8_A2_T1.js --- info: Result of ToString conversion from null value is "null" es5id: 9.8_A2_T1 description: null convert to String by explicit transformation --- 438
S9.8_A3_T1.js --- info: | Result of ToString conversion from boolean value is "true" if the argument is "true", else is "false" es5id: 9.8_A3_T1 description: True and false convert to String by explicit transformation --- 638
S9.8_A4_T1.js --- info: | Result of String conversion from string value is the input argument (no conversion) es5id: 9.8_A4_T1 description: Some strings convert to String with explicit transformation --- 668
S9.8_A5_T1.js --- info: | Result of String conversion from Object value is conversion from primitive value es5id: 9.8_A5_T1 description: Some objects convert to String by explicit transformation --- 2920
S15.5.1.1_A1_T1.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T1 description: Call String(function(){}()) --- 1036
S15.5.1.1_A1_T2.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T2 description: Call String(null) --- 985
S15.5.1.1_A1_T3.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T3 description: Call String(void 0) --- 1003
S15.5.1.1_A1_T4.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T4 description: Call String(undefined) --- 1015
S15.5.1.1_A1_T5.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T5 description: Call String(x), where x is undefined variable --- 1036
S15.5.1.1_A1_T6.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T6 description: Checking by using eval, Call String(eval()); --- 1028
S15.5.1.1_A1_T7.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T7 description: Call String({}) --- 1009
S15.5.1.1_A1_T8.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T8 description: Call String(new Array) --- 1313
S15.5.1.1_A1_T9.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T9 description: Call String(this) --- 1087
S15.5.1.1_A1_T10.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T10 description: Call String(1) and String(-1) --- 1622
S15.5.1.1_A1_T11.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T11 description: Call String(1/0) and String(-1/0), and call with +/-Infinity --- 4482
S15.5.1.1_A1_T12.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T12 description: Call String(1/"a"), String("b"* null) and String(Number.NaN) --- 2358
S15.5.1.1_A1_T13.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T13 description: Call String(true) and String(false) --- 3015
S15.5.1.1_A1_T14.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T14 description: Call String(0) and String(-0) --- 1620
S15.5.1.1_A1_T15.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T15 description: Call String(string_object) --- 755
S15.5.1.1_A1_T16.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T16 description: Call String() with .12345 and analogous numbers --- 3048
S15.5.1.1_A1_T17.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T17 description: > Call String() with numbers that have more than 1 significant digit after point --- 2477
S15.5.1.1_A1_T18.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T18 description: Call String() with numbers that have more than 1 significant digit --- 1799
S15.5.1.1_A1_T19.js --- info: | When String is called as a function rather than as a constructor, it performs a type conversion es5id: 15.5.1.1_A1_T19 description: Call String() with Array of numbers --- 1044
S15.5.1.1_A2_T1.js --- info: If value is not supplied, the empty string "" is returned es5id: 15.5.1.1_A2_T1 description: Call String() --- 913
S15.5.2.1_A1_T1.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T1 description: Creating string object with expression "new String" --- 1761
S15.5.2.1_A1_T2.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T2 description: Creating string object with "new String()" --- 1761
S15.5.2.1_A1_T3.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T3 description: Creating string object with "new String("")" --- 1773
S15.5.2.1_A1_T4.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T4 description: Create string object with "new String(1.0)" --- 1522
S15.5.2.1_A1_T5.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T5 description: Creating string object with "new String(NaN)" --- 1534
S15.5.2.1_A1_T6.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T6 description: Creating string object with "new String(false)" --- 1538
S15.5.2.1_A1_T7.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T7 description: Creating string object with "new String({})" --- 1783
S15.5.2.1_A1_T8.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T8 description: Creating string object with "new String(function(){})" --- 1846
S15.5.2.1_A1_T9.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T9 description: > Creating string object with "new String(function(){return [1,2,3]}())" --- 1666
S15.5.2.1_A1_T10.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T10 description: > Creating string object with "new String(function object)" as the function object's prototype.toString property was changed --- 1739
S15.5.2.1_A1_T11.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T11 description: > Creating string object with "new String(function object)" after changing function object's valueOf and toString properties --- 1777
S15.5.2.1_A1_T12.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T12 description: > Creating string object with "new String(function object)", after changing the function object toString property, which causes exception throw --- 1197
S15.5.2.1_A1_T13.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T13 description: > Creating string object with "new String(function object)" after changing function object's valueOf property, which causes exception throw --- 1211
S15.5.2.1_A1_T16.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T16 description: > Creating string object with "new String()" initialized with .12345 and other numbers --- 4701
S15.5.2.1_A1_T17.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T17 description: > Creating string object with "new String()" initialized with numbers that have more than 1 significant digit following the point --- 3792
S15.5.2.1_A1_T18.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T18 description: > Create string object with "new String()" initialized with numbers that have more than 1 significant digit --- 2757
S15.5.2.1_A1_T19.js --- info: | When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied es5id: 15.5.2.1_A1_T19 description: > Creating string object with "new String()" initialized with Array of numbers --- 1619
S15.5.2.1_A2_T1.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original String prototype object es5id: 15.5.2.1_A2_T1 description: Creating string object with "new String(string)" to check prototype --- 777
S15.5.2.1_A2_T2.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original String prototype object es5id: 15.5.2.1_A2_T2 description: > Creating string object with "new String(string)" adding custom property --- 1360
S15.5.2.1_A3.js --- info: The [[Class]] property of the newly constructed object is set to "String" es5id: 15.5.2.1_A3 description: > Creating string object with "new String(string)" and changing toString property to Object.prototype.toString --- 949
S15.5.3_A1.js --- info: String has length property whose value is 1 es5id: 15.5.3_A1 description: Checking String.length --- 586
S15.5.3_A2_T1.js --- info: | The value of the internal [[Prototype]] property of the String constructor is the Function prototype object es5id: 15.5.3_A2_T1 description: Checking Function.prototype.isPrototypeOf(String) --- 738
S15.5.3_A2_T2.js --- info: | The value of the internal [[Prototype]] property of the String constructor is the Function prototype object es5id: 15.5.3_A2_T2 description: Add custom property to Function.prototype and check it at String --- 767
S15.5.5.1_A1.js --- info: | length property contains the number of characters in the String value represented by this String object es5id: 15.5.5.1_A1 description: Create strings and check its length --- 1306
S15.5.5.1_A2.js --- info: length property has the attributes {DontEnum} es5id: 15.5.5.1_A2 description: Checking if enumerating the length property of String fails --- 1090
S15.5.5.1_A3.js --- info: length property has the attributes {DontDelete} es5id: 15.5.5.1_A3 description: Checking if deleting the length property of String fails includes: [propertyHelper.js] --- 1731
S15.5.5.1_A4_T1.js --- info: length property has the attributes {ReadOnly} es5id: 15.5.5.1_A4_T1 description: Checking if varying the length property of String fails flags: [noStrict] --- 2610
S15.5.5.1_A4_T2.js --- info: length property has the attributes {ReadOnly} es5id: 15.5.5.1_A4_T2 description: Checking if varying the length property of String fails includes: [propertyHelper.js] --- 1671
S15.5.5.1_A5.js --- info: Once a String object is created, the length property is unchanging es5id: 15.5.5.1_A5 description: > Change valueOf and toString of String object and check length property --- 1892
S15.5.5_A1_T1.js --- info: String instance has not [[call]] property es5id: 15.5.5_A1_T1 description: Create new String and try call it --- 738
S15.5.5_A1_T2.js --- info: String instance has not [[call]] property es5id: 15.5.5_A1_T2 description: Checking if creating new "String("a|b")()" fails --- 724
S15.5.5_A2_T1.js --- info: String instance has not [[construct]] property es5id: 15.5.5_A2_T1 description: Create new string object and try new created_string --- 775
S15.5.5_A2_T2.js --- info: String instance has not [[construct]] property es5id: 15.5.5_A2_T2 description: Checking if creating "new String" fails --- 720
shell.js --- description: | Test if a given function is a constructor function. defines: [isConstructor] features: [Reflect.construct] --- 596
symbol-string-coercion.js --- esid: sec-string-constructor description: Symbol value may be coerced to a String info: | 1. If no arguments were passed to this function invocation, let s be "". 2. Else, a. If NewTarget is undefined and Type(value) is Symbol, return SymbolDescriptiveString(value). features: [Symbol] --- 695
symbol-wrapping.js --- esid: sec-string-constructor description: Symbol value may not be wrapped info: | 1. If no arguments were passed to this function invocation, let s be "". 2. Else, a. If NewTarget is undefined and Type(value) is Symbol, return SymbolDescriptiveString(value). b. Let s be ? ToString(value). features: [Symbol] --- 596