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


 

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

示例:

<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(被擴展的對象名,屬性名,{屬性的值}) 可以用於擴展對象的屬性

不過可以指定只讀屬性

示例:

<!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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM