es5中Object.seal()密封对象后,可以修改对象原型上的属性吗?

mdn的解释是这样的

https://img4.mukewang.com/5c19ef820001eaf207920631.jpg

翻译说的是不影响原型上继承的属性,但是__proto__属性的值不能修改,然后自己就亲自测试了一下,发现密封对象后原型可以删除和修改,然后就不理解这句话的表达是否准确。。。
代码如下

let obj_origin, obj_changed;


        function Person() {

            this.name = 'sheng';

            this.age = '25';

        }


        Person.prototype = {

            constructor: Person,

            sing () {

                alert('sing');

            },

            prototypeTarget:'prototypeTarget'

        };


        obj_origin = new Person();


        obj_changed = Object.seal(obj_origin);


        delete obj_changed.name;


        delete obj_changed.__proto__.prototypeTarget;


        console.log(obj_changed);

https://img2.mukewang.com/5c19ef910001976b06030198.jpg

原型上的prototypeTarget属性被删除了

噜噜哒
浏览 752回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript