Ad
Why Can't I Reassign Window.document Property?
I'm playing with Javascript and discovered that I can't change default value(provided by a browser) of window.document
object.
window.document = 3;
console.log(window.document);
I tried to console.log(window)
in order to see something like read-only property in document
object but didn't find anything.
It seems like some kind of magic and I want to know why this is happening.
Ad
Answer
Thanks for nice question. Under the hood properties can have a descriptors. And we can easily deal with them. Like here:
const dsc = Object.getOwnPropertyDescriptor(window, 'document');
console.log(dsc);
And if you check the result you will see that document property just doesn't have a setter. That's why you can't re-assign it.
And here you can find some more information about descriptors
Ad
source: stackoverflow.com
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM
Ad