高程第141页,属性 _year:是什么意思?

var book = {

    _year : 2004,//_year前面下划线是常用的记号,表示只能通过对象方法访问的属性

    edition : 1

};

Object.defineProperty(book,"year",{ 

    get : function () {

        return this._year;

    },

    set : function (newValue) {


        if (newValue > 2004) {

            this._year = newValue;

            this.edition += newValue - 2004;

        }

    }


});

book.year = 2005;

我想问下,这个_year 属性,上面说的是只能通过对象方法访问,但是我在下面直接也能访问和修改,

请问这样写 _year 属性,是什么用法?表达的是规则还是一种可行性?


LEATH
浏览 414回答 1
1回答

慕神8447489

在ES6之前,js是沒有私有属性的,一般在属性名前增加_以表示这个属性是私有属性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript