前言
在ES6中新增加了类实例的概念,让我们一起学习吧!
一、对象是什么?
现实生活中,万物皆对象。对象是一个具体的事物,看得见摸得着的实物。例如一本书,一辆汽车,一个人,一张网页,一个数据也可以是一个对象。在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。对象是由属性和方法组成的。
属性:事物的特征,在对象中用属性来表示(常用名词)
方法:事物的行为,在对象中用方法来表示(常用动词)
二、类class
在ES6中新增加了类的概念,可以使用class关键字声明一个类,之后用这个类来实例化对象。类抽化了对象的公共部分,他泛指一大类class,而对象特指某一个,通过类实例化一个具体的对象。而面向对象的思维则是抽取对象的共用属性和行为组织,封装成为一个类模板,然后对类进行实例化,获取类的对象。
1.创建类
语法:class name = { }
创建实例:var xxx = new name()
2.类constructor构造函数
constructor方法是类的构造函数,用于传递参数,返回实例,通过new命令生成对象实例时,自动调用该方法,如果没有显示定义,类内部会自动给我们创建一个constructor
三、代码演示
<script>
// 1.创建类class
class Star { // 通过关键字创建类,类名首字母要大写
constructor(username) { // 构造函数,接收传递过来的参数,同时返回实例对象
this.username = username;
}
// 可以在类中添加方法
sing(str) {
console.log("类中添加方法");
console.log(str);
}
}
// 2.利用类创建对象
let lisa = new Star("丽莎"); // 利用new生成实例
console.log(lisa.username); // 丽莎
/*执行过程:当创建new实例的时候,会自动的调用constructor这个函数,这个函数就会执行,
然后把"丽莎"传递到username,username又会传递到this.username,这个this指向的就是创
建的实例,所以实例中就有了username这个属性了,就可以去使用它了。*/
// 调用类里面的方法,还可以传递参数
lisa.sing("这是传递的参数");
</script>
总结
以上就是今天要讲的内容,本文仅仅简单介绍了ES6中的类和对象,将持续和大家分享我的学习。