这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战
es3,es5原型 # | 8月更文挑战
ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。
ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是ES5版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。
最常用的ES6特性
let, const, class, extends, super, arrow functions, template string, destructuring, default, rest arguments
这些是ES6最常用的几个语法,基本上学会它们,我们就可以走遍天下都不怕啦!我会用最通俗易懂的语言和例子来讲解它们,保证一看就懂,一学就会。
好了回归本文重点。
原型对象
在声明了一个函数之后,浏览器会自动按照一定的规则创建一个对象,这个对象就叫做原型对象。这个原型对象其实是储存在了内存当中。
在声明了一个函数后,这个构造函数(声明了的函数)中会有一个属性prototype,这个属性指向的就是这个构造函数(声明了的函数)对应的原型对象;原型对象中有一个属性constructor,这个属性指向的是这个构造函数。
直接上代码:
function Animal(){
this.name=function(){
alert('Aaa')
}
}
function Dag(){
this.bark=function(){
alert('Ha shiqi')
}
}
Dag.prototype=new Animal()
var hashiqi=new Dag()
hashiqi.bark()
hashiqi.name()
es6原型
{
class Animal {
constructor(name) {
this.name=name
}
eat(){
alert(this.name+'eat')
}
}
class Dog extends Animal{
constructor(name){
super(name)
this.name=name
}
say(){
alert(this.name+'say')
}
}
const dog=new Dog('hasiqi')
dog.say()
}