ES6学习——类语法:其它

73 篇文章 23 订阅

这篇文章会零零散散过一些使用类语法中的问题。

1)类不能当做函数调用

class Point{}

Point();//Uncaught TypeError: Class constructors cannot be invoked without 'new'

2)类没有hoisting过程

new Foo(); // ReferenceError
class Foo {}

3)类表达式写法:

const MyClass = class Me {
	getClassName() {
		return Me.name;
	}
};

let inst = new MyClass();
console.log(inst.getClassName()); // Me
console.log(Me.name); // ReferenceError: Me is not defined

4)方法名称可以为变量

class Foo() {
    ['my'+'Method']() {}
}

const m = 'myMethod';
class Foo() {
    [m]() {}
}

5)类中定义的方法不能用new来调用

class C {
	m() {}
}
new C.prototype.m(); // Uncaught TypeError: m() {} is not a constructor

6)super可以用在对象字面量中

var parent = {
	method(){
		console.log("Parent");
	}
},child = {
	method(){
		super.method();
		console.log("Child");
	}
}

Object.setPrototypeOf(child,parent);

child.method();//Parent Child


*以上全部代码在Chrome 47下通过测试

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值