New in JS2015.
Symbol is the value of the property key
"Symbol" of the Global Object
console.log( window.Symbol === Symbol );
Symbol is a function.
// type of Symbol console.log( typeof Symbol === "function" );
Symbol is Function.prototype.
console.log( Reflect.getPrototypeOf ( Symbol ) === Function.prototype );
- To create values of symbol type.
- Holds value properties and function properties that are useful for symbol values.
- Holds the property
Symbol.prototype, which is the parent of all symbol objects.
[see Symbol Tutorial]
2017-02-10 following is work in progress.
Symbol.for ( key )
Symbol.for(string) → access shared symbols registry.
Symbol.keyFor ( sym )
Well-Known (Predefined) Symbols
Well-known symbols are built-in Symbol values They are typically used as the keys of properties whose values serve as extension points. Unless otherwise specified, well-known symbols values are shared by all Code Realms.
Well-Known symbols are denoted with 2 at signs in front, like this:
instanceof is now a method of function, with property key
o instanceof f same as
this makes it extensible.
Symbol.match method for customizing
A method that determines if a constructor object recognizes an object as one of the constructor’s instances. Called by the semantics of the
- A Boolean valued property that if true indicates that an object should be flattened to its array elements by Array.prototype.concat .
- A method that returns the default Iterator for an object. Called by the semantics of the for-of statement.
- A regular expression method that matches the regular expression against a string. Called by the String.prototype.match method.
- A regular expression method that replaces matched substrings of a string. Called by the String.prototype.replace method.
- A regular expression method that returns the index within a string that matches the regular expression. Called by the String.prototype.search method.
- A function valued property that is the constructor function that is used to create derived objects.
- A regular expression method that splits a string at the indices that match the regular expression. Called by the String.prototype.split method.
- A method that converts an object to a corresponding primitive value.
- A String valued property that is used in the creation of the default string description of an object. Accessed by the built-in method Object.prototype.toString .
An object valued property whose own property names are property names that are excluded from the
withenvironment bindings of the associated object.