Symbol.unscopables

Symbol.unscopables - символ для виключення з with.

Синтаксис:

Symbol.unscopables;

Опис:

unscopables властивість об'єкта Symbol яка містить символ для виключення з with. Використовується щоб приховати властивість від with.

Приклад:

var ob={name:'test'}; ob[Symbol.unscopables]=ob; with(ob){ alert( name ); } const object1={property1: 10}; object1[Symbol.unscopables]={property1: true}; with(object1){ alert(property1); //ReferenceError: property1 is not defined }

Властивість true вказує що властивість є невидимою для with:

var obj={ foo: 10, bar: 2 }; obj[Symbol.unscopables]={ foo: false, bar: true }; with (obj){ alert(foo); // 10 alert(bar); // ReferenceError: bar is not defined } var ob={x: 10, y: 20}; ob[Symbol.unscopables]={ y: true }; console.log(ob.x); // 1 console.log(ob.y); // 2 with(ob){ alert(x); // 1 alert(y); // ReferenceError: y is not defined }