<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
/*
Es6中的class类
ES6 的类,完全可以看作构造函数的另一种写法。
class使用的时候,也是直接对类使用new命令,跟构造函数的用法完全一致。
类的内部所有定义的方法,都是不可枚举的(non-enumerable)。
constructor()方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法
类必须使用new调用,否则会报错。这是它跟普通构造函数的一个主要区别,后者不用new也可以执行
*/
// 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("00000000", p)
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toString() {
return '(' + this.x + ', ' + this.y + ')';
}
}
Object.assign(Point.prototype, {
toNum() { },
toValue() { }
});
let a = new Point(2, 3)
//a是Point的实例
console.log(a)
</script>
</html>
网友评论