class类

本文详细介绍了JavaScript中的类和实例,包括this的概念,实例化过程,constructor构造函数,get和set方法,静态方法和属性,私有属性与方法,以及new.target的使用。通过对这些核心概念的理解,帮助开发者深入掌握JavaScript的面向对象编程。
摘要由CSDN通过智能技术生成

要想学class, 首先要知道实例 原型 this 等相关知识。

什么是this?

this是函数体运行时所在环境的对象(也就是说this是对象);

①函数体运行(this是在函数体内运行的)

② this指向的是对象, 以往我们讨论的this指向问题,也就是在讨论this指向哪个对象。

例如函数作为对象中的方法使用,那么this就指向该对象。

什么是实例?

实例就是初始化之后的对象;

例如 let b = {} b.age = 1;

上面的两步操作 b也就一个实例化的对象。 b是初始值对象,然后往b上面添加age属性就成了实例对象。

只不过这种实例化,有些缺点 ①初始值语义不明显 ② 原型对象与实例对象关系不明确。

为了解决这一问题 new命令出现了

通过函数的方式加上new命令解决上述的两个问题

function b (){this.x = 1} let a = new b();

a就是实例。b与a之间的关系看起来就比较明确了。

类的基本语法

1.基本用法

class name { }

在类中所有定义的方法都会放在原型上,也就是prototype属性上。

以往放在原型上是需要借助与 prototype;

例如 function b (){...} // 构造函数 let a = new b();//实例化 a.prototype.age = function(){...}; //往原型上添加方法

现在只需要

class name { age(){...}};

注意点 在类中所有定义的方法都会放在原型上。 如果是属性会放在实例上。

2.constructor() 

  constructor 方法默认返回实例本身, 也就是如果在constructor中使用this,this会指向实例。

3.get 与set

   与definedProperty方法一样, 给某个属性设置get与set。 class中也是一样的, 给实例中某个属性设置get与set。

4. 静态方法与静态属性

  静态的作用是: 定位一个属性与方法只能在以class来使用, 不能被实例所继承。

 关键词static来声明。

 例如

class point { static name = 1;}       使用方法 point.name  如果实例化之后,在实例上是找不到name的

5. 私有属性与私有方法

  私有的作用是: 只能在类的内部使用(实例化之后)。

 关键词 #  例如# 定义的属性或方法只能在内部使用。

6. 静态块

    静态块的作用是初始化静态属性。

    可以用函数的方式来去定义静态属性,且只需要之一次。

7. new.target

    在class内部使用,如果是用new命令调用的 new.target会返回类本身,否则会返回undefind

  此方法主要是判断当前是否是通过new命令来调用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值