ES6 Object.setPrototypeOf ()方法和defineProperty()方法的使用

 

將一個指定的對象的原型設置爲另外一個對象或者null(既對象的[[Prototype]]內部屬性).javascript

示例:html

<script type="text/javascript">
            var Car=function(){
                this.name="";
            }
            
            var benz=new Car();
            console.log(benz.name);
            
            Object.setPrototypeOf(benz,{name:"小轎車",price:"23456"});
            console.log(benz.name);  //未重寫
            console.log(benz.price);
        </script>

 

 

 

Object.defineProperty

Object.defineProperty(被擴展的對象名,屬性名,{屬性的值}) 能夠用於擴展對象的屬性java

不過能夠指定只讀屬性this

示例:spa

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>Object.defineProperty()</title>
    </head>

    <body>
        <script>
            var tom = {
                name: "tom"
            };
            tom.age = 90;
            tom["age"] = 88;
            console.log("tom.age=" + tom.age);

            var rose = {
                name: "rose"
            };
            Object.defineProperty(rose, "age", {
                value: 98,
                writable:false  //只讀
            });
            rose.age=18;  //修改無效
            console.log("rose.age=" + rose.age);
        </script>
    </body>

</html>

相關文章
相關標籤/搜索