Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

ECMAScript 6,es6 get和set的区别

Death撒旦 2020-01-10 20:59:00 阅读数:18 评论数:0 点赞数:0 收藏数:0

0x00 前言:ECMAScript 6是什么

一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系?

要讲清楚这个问题,需要回顾历史。1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。

该标准从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有两个原因。一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,且 JavaScript 本身也已经被 Netscape 公司注册为商标。二是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。

因此,ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。

0x01 示例

先说get (getter)按我自己的理解,就是

类的属性成了动态的(我的语言能力有限---)、比较官方的说法就是 get语法将对象属性绑定到查询该属性时将被调用的函数。

 

class satan{
//可以return返回字符串 成为当前对象status的string属性 get status() {
return "有了更搞的扩展性,可以动态设置属性"; }
//也可以这样用
satans = {
a:'a',b:'b',c:'c'
}
get init()
{
return this.satans.a //string a
} }
//实例化 satan = new satan(); //控制台打印 console.log(satan.status);

 

还有个setter 用法也是和上面的差不多

const satan = {
blog:[],
set push(data)
{
this.blog.push(data)
}
}
satan.push('aa');
//控制台打印 array aa
console.log(satan.blog);

0x02 总结

当然,我这仅仅是简单举个例子,应该还有更多实用的语法。

 

版权声明
本文为[Death撒旦]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/death-satan/p/12178118.html