JavaScript Symbol unscopables Property
The Symbol.unscopables property in Javascript is a well-known symbol that is used to specify an object value of whose own and inherited property names are excluded from the environment bindings.
Syntax:
object[Symbol.unscopables]
Property attributes: This property holds an Object and it is not Writable, Enumerable and Configurable.
Return value: Check the variable appears in the lexical scope variable.
The below examples illustrate the Symbol.unscopables properties in JavaScript:
Example 1:In this example, we will see the output If all property are set to false.
javascript
let obj1 = {
val: "Have" ,
val1: "FUN"
};
obj1[Symbol.unscopables] = {
val1: false ,
val: false
};
with (obj1) {
console.log(val1);
}
with (obj1) {
console.log(val);
}
|
Output:
"FUN"
"Have"
Example 2: In this example, we will see the output If any property is set to true.
javascript
let obj1 = {
val: "Have" ,
val1: "FUN"
};
obj1[Symbol.unscopables] = {
val1: false ,
val: true
};
with (obj1) {
console.log(val1);
}
with (obj1) {
console.log(val);
}
|
Output:
"FUN"
Error: val is not defined
Example 3: In this example, we will see all the unscopables
javascript
let list = [];
with (Array.prototype) {
list.push( 'unscopables' );
}
console.log(Object.keys(Array.prototype[Symbol.unscopables]));
|
Output:
[
'copyWithin', 'entries',
'fill', 'find',
'findIndex', 'flat',
'flatMap', 'includes',
'keys', 'values'
]
Supported Browsers: The browsers are supported by JavaScript Symbol.unscopables properties are listed below:
- Google Chrome 45
- Edge 12 and above
- Firefox 48 and above
- Opera 32 and above
- Safari 9 and above
We have a complete list of Javascript symbols, to check those please go through the Javascript Symbol Complete Reference article.
Last Updated :
22 May, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...