JavaScript是在1995年创建的,但语言今天仍然欣欣向荣。有子集,超集,当前最新版本为ES6,这带来了很多新的特性。
一些亮点:
类与继承
箭头函数
模板字符串
常量和块作用域变量
… 展开运算符和 … 剩余操作符
解构
模块和模块加载器
Promise
类
类是ES6中的一个新特性,用于描述对象的蓝图,使EcmaScript的原型继承模型函数更像一个传统的基于类的语言。
class Hamburger {
constructor() {
// 这是一个构造函数
}
listToppings() {
// 这是一个方法
}
}
基于类的传统语言通常保留this
这个词来引用类的当前(运行时)实例。在 JavaScript 中,this
指的是调用上下文,因此可以改变为除对象之外的其他东西。
对象
对象是使用new
运算符创建的类的实例。当使用点号访问对象上的方法时,this
将引用点左边的对象。
let burger = new Hamburger();
burger.listToppings();
在上面的代码片段中,每当从Hamburger类中使用this
时,它将引用对象burger
。
更改调用上下文
JavaScript代码可以选择使用以下方法之一将this
提供给调用时的方法。
- Function.prototype.call(object [,arg, …])
- Function.prototype.bind(object [,arg, …])
- Function.prototype.apply(object [,argsArray])