JavaScript中Class的基本语法

1、初步认识Class

ES6中的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰,更像面向对象编程的语法而已。

案例一:

function Point(x,y){
    this.x = x;
    this.y = y;
}
Point.prototype.toString = function(){
    return '('+this.x+','+this.y+')';
}
var p =new Point(1,2);
console.log(p.toString());

运行结果:

改成成class:

class Point{
    constructor(x,y){
        this.x = x;
        this.y = y;
    }
    toString(){
        return '('+this.x+','+this.y+')';
    }
}

var p =new Point(1,2);
console.log(p.toString());

 运行结果:

 上面代码定义了一个类,可以看到里面有一个constructor方法,这就是构造方法。而this关键字则代表实例对象。

定义“类”的方法时,前面不需要加上function这个保留字,直接把函数定义放进去就可以了。另外,方法之间不需要逗号分割,加了会报错。(类型C++的内嵌函数)

2、严格模式

 类和模块的内部默认使用严格模式,所以不需要使用use strict指定运行模式。只要将代码写在类或模块之中,那么就只有严格模式可用。ES实际上已经把整个语言都升级到了严格模式下。

类必须使用new来调用,否则会报错。这是它跟普通的构造函数的一个主要区别,后者不用new也可以执行。

Point();//报错,类必须使用new Point()调用

3、this的指向

类的方法内部如果含有this,它将默认指向类的实例

但是,必须非常小心,一旦单独使用该方法,很可能报错。所以不要单独进行使用。

规范使用:类实例.方法名

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值