ECMAScriptES5吃出之片单新增的语法糖getter和setter介绍

前言信息:

   
EMCAScript5 简称ES5  ECMAScript是均等栽由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer
Manufacturers Association)  

 
  语法糖(Syntactic sugar),也翻为门面语法,是由于英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中长的某种语法,这种语法对语言的成效并从未影响,但是再便宜程序员使用。通常来说使用语法糖会多程序的可读性,从而减少程序代码出错的会。

并未立刻有限独语法糖(getter
和 setter 叫 读写器)之前:

仍来一个口,
有 name age 和 gender 

临时就考虑
age ,给age做只限,不允赋值为负数,如果负数则未初始化,并打印一个告诫

 

 1     var o = (function(){
 2         var age = 0;
 3         return {
 4             get_age:function(){
 5                 return age;
 6             },
 7             set_age:function(v){
 8             // 在设置里加一个判断
 9                 if(v<0){
10                     console.log("年龄不允许小于0")
11                 }else{
12                     age = v;
13                      }    
14                 }
15             }
16         })();
17     console.log(o.get_age());
18     o.set_age(12);
19     console.log(o.get_age());

 

 

 

 

如此这般描绘
完全符合我们的要求 但是程序员不满足 其实我们立马为看这个特性
但一直都是办法在造访
 程序员希望像看属性一样看

    o.age  希望相当于o.get_age()
    o.age = 12;  希望相当于上述代码中de
                     o.set_age(12);
                   console.log("o.get_age()")

 语法        
     get 名字(){}        
 set 名字(v){}                   

  添加语法糖后:                 

 1     var o = (function(){
 2         var age = 0;
 3         return {
 4             get age (){
 5                 return age;
 6             },
 7             set age (v){
 8              // 在设置里加一个判断
 9                 if(v < 0){
10                     console.log("年龄不允许小于0");
11                 }else{
12                     age = v;
13                      }    
14                 }
15             }
16         })();
17     console.log(o.age);
18     o.age =12;
19     console.log(o.age);

此刻 程序员就嘀咕 .age
 其实是让它们自动的填补加个属于性 对象o没有此特性 .age就给它们上加上了
那我们证实下 到底是直绑定的其 还是叫它们助长的属于性 

ECMAScript 1

 ECMAScript 2
语法糖给的好
get和set后面的命名很随意 但必须保持一致

 ECMAScript 3