基本数据类型:Number、String、Boolean、Null、Undefined、Object、Symbol
Symbol:作用:属性私有化,保护数据
Symbol类型的值通过symbol函数生成,相同Symbol函数返回的值是惟一的
Symbol('aa') != Symbol('aa')
例子如下:
/* Symbol 实现 属性私有化 */
let Person = (function () {
let _gender = Symbol('gender');
function P(name,gender) {
this.name = name;
this[_gender] = gender;
}
P.prototype.getGender = function() {
return this[_gender];
}
return P;
})();
let p = new Person('小明','女');
console.log(p);
/* 变量实现 */
let Person1 = (function() {
let _gender = '';
function P(name,gender) {
this.name = name;
_gender = gender;
}
P.prototype.getGender = function() {
return _gender;
}
return P;
})();
let p1 = new Person1('小红','男');
console.log(p1);