Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

JavaScript Symbol unscopables Property

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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




// JavaScript to illustrate Symbol.toPrimitive 
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




// JavaScript to illustrate Symbol.toPrimitive 
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.


My Personal Notes arrow_drop_up
Last Updated : 22 May, 2023
Like Article
Save Article
Similar Reads
Related Tutorials