ECMAScriptES5付给的五个新增的语法糖getter和setter介绍

前言音讯:

   
EMCAScript5 简称ES5  ECMAScript是一种由Ecma国际(前身为澳洲总结机创建商组织,英文名称是European Computer
马努facturers Association)  

 
  语法糖(Syntactic sugar),也译为糖衣语法,是由英帝国电脑物国学家Peter·John·兰达(Peter J. 阿尔法·罗米欧in)发明的1个术语,指总结机语言中拉长的某种语法,那种语法对语言的功用并没有影响,可是更方便人民群众程序员使用。平常来说使用语法糖能够扩充程序的可读性,从而减弱程序代码出错的空子。

尚未那八个语法糖(getter
和 setter 叫 读写器)在此之前:

例如有一位,
有 name age 和 gender 

一时半刻只考虑
age ,给age做个限制,区别意赋值为负数,即便负数则不初始化,并打字与印刷3个警告

ECMAScript, 

 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