对个人非准确认知
旋量群是一类面向对象的价值观,透过局部性表达式返回值外部的表达式,同时实现对局部性表达式返回值外部统计数据的出访 。
旋量群在标识符层的充分体现上是,表达式返回值外部的表达式 + 表达式返回值外部的表达式提及过的统计数据;
其核心理念的促进作用是用以隔绝统计数据,避免统计数据被随便盗用
旋量群的示例1
function Person(){
// 表达式name 和表达式getName 协力同时实现了两个旋量群
let name = “bill”
function getName(){
return name;
}
}
旋量群的示例2
// 反之亦然是 表达式name 和 表达式 getName 协力同时实现了两个旋量群
function Person(name){
function getName(){
return name
}
}
旋量群的实际使用场景
创建简单学生对象模型
要求学生的id不能够修改
可以修改学生的名称function Person(id,name){
return {
name: name,
getId(){
return id
}
}
}
let bill = Person(“id”,bill)
console.log(bill.name) // 输出 bill
bill.id = 100;
console.log(bill.getId()) // 输出 id 不会被修改
为了避免误解和使用的习惯 可以搭配 get set 使用
修改如下
function Person(id, name){
// 这里的这个o 就是旋量群中的表达式
// 返回对象中的全部 get 和 set 都是旋量群 const o = {id: id, name: name};
return {
get id(){
return o.id
},
set id(newId){
console.error(警告 不能够修改对象的 id)
},
get name(){
return o.name
},
set name(newName){
o.name = newName
}
}
}
// 初始户化对象示例
let bill = Person(id, bill)
console.log(bill.id) // 输出 id
console.log(bill.name) // 输出 bill
bill.name = change // 可以修改
bill.id = changeid // 不可以修改 会在控制台看到错误信息
console.log(bill.id) // 输出 id 没有修改成功
console.log(bill.name) // 输出 change 修改成功
以上代码控制台的实际结果
