1.Symbol
- ES6新增的数据类型 - 基本类型
- 值是由Symbol函数调用产生的
var s1 = Symbol();
var s2 = Symbol();
// console.log(typeof s1);
console.log(s1,s2)
// Symbol() , Symbol()
var s3 = Symbol('123')
var s4 = Symbol('123')
// Symbol('123') ,Symbol('123')
console.log(s3===s4)
// false
// 定义一个Person的构造函数
function Person(name,gender){
this.name = name;
this.gender = gender;
}
var p1 = new Person('小明','男')
console.log(p1.gender)
// '男'
// 希望一个Person的性别在出生以后就能够被确定,并非一直保存到死
var Person = (function(){
var _gender = ''
function P(name,gender){
this.name = name;
// this.gender = gender;
_gender = gender;
}
P.prototype.getGender = function(){
return gender;
return P;
})();
var p1 = new Person('小明','男')
console.log(p1)
console.log(p1.getGender());
var Person = (function(){
let _gengder = Symbol('gender');
function P(name,gengder){
this.name = name;
this[_gender] = gender;
}
return P
})();
var p1 = new Person('小明','男')
console.log(p1)
// 内部是存在,但是外部访问不到