ES6为我们创建对象提供了新的语法糖,这就是Class语法。如果你对ES5中面向对象的方式比较熟悉的话,Class掌握起来也是非常迅速的,因为除了写法的不同,它并不会增加新的难以理解的知识点。我们先利用一个简单的例子来看看写法的不同。

// ES5
// 构造函数
function Person(name, age) {
this.name = name;
this.age = age;
}
// 原型方法
Person.prototype.getName = function() {
return this.name
}
// ES6
class Person {
constructor(name, age) { // 构造函数
this.name = name;
this.age = age;
} getName() { // 原型方法
return this.name
}
}

babel会将ES6的写法编译成为利用Object.defineProperty实现的方式,这个方法的具体用处大家可以在《JavaScript高级编程3》中学习了解,包括get,set,等都有详细的说明

// JS常用套路

看到这段代码, 没明白是什么意思, 这里面的!!是什么语法呢?

export function isLogin() {
return !!cookie.load('token')
}

这是套路 , 如何把一个任意类型的值转换为布尔类型? 
用!! 一个!是取非 再一个!又取非 相当于把这个数据转换为boolen类型了

还有

// 强制转换为Boolean 用 !!
var bool = !!"c";
console.log(typeof bool); // boolean // 强制转换为Number 用 +
var num = +"1234";
console.log(typeof num); // number // 强制转换为String 用 ""+
var str = ""+ 1234;
console.log(typeof str); // string

最新文章

  1. 【手记】为windows2008建个睡眠快捷方式
  2. 微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
  3. input文本框去除单击时的边框的方法
  4. truncate表hang住(等待时间较长),出现enq:RO fast object reuse等待事件
  5. MySQL出错:ERROR 1045 (28000)的解决方法
  6. ERP员工入登记查询(六)
  7. Oracle11g导入*.dmp数据文件
  8. python-类和对象(属性、方法)的动态绑定
  9. php排序算法之选择排序
  10. Sublime 学习记录(一) Sublime 的快捷键
  11. JS二维数据处理逻辑封装探究
  12. elasticsearch系列(一) 术语
  13. margin-top塌陷
  14. 经典合集 - WP8.1数据源
  15. 随手心得(浅谈iOS)
  16. 【转】Python 3的pathlib模块:驯服文件系统
  17. linux修改文件为可执行文件
  18. vim常忘命令
  19. 基础的Servlet
  20. Codeforces Round #447 (Div. 2) 题解

热门文章

  1. 以简御繁介绍IOC
  2. Java基础(八)——IO流3_对象流
  3. frontend-maven-plugin插件问题解决
  4. 面试题68 - II. 二叉树的最近公共祖先
  5. Zookeeper绍二(分布式锁介)
  6. Android一句话 | View事件分发
  7. Java的八大基本数据类型
  8. Cesium入门13 - Extras - 附加内容
  9. http状态码 200 304 404 503等
  10. C++与lua交互之C++访问lua