美文网首页ES6学习笔记
ES6学习笔记—Class基本语法

ES6学习笔记—Class基本语法

作者: 七_五 | 来源:发表于2017-07-16 18:03 被阅读0次

1、引言

JavaScript是一门基于原型继承的语法,ES5中我们实现面向对象构造“父类”的写法一般通过构造函数写入基本属性、通过原型prototype写入基本的方法,下面是一个例子
demo

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)

ES6的class可以看作一个语法糖,ES6中引入的新属性class,通过class可以让对象原型的写法更加清晰、更像面向对象编程的语法而已,上面的例子通过ES6的class改写,

//定义一个Point类
class Point {
  constructor(x,y) {
    this.x = x;
    this.y = y;
  }

  toString() {
    return '(' + this.x + ', ' + this.y + ')';
  }
}
  • 严格模式
    类和模块的内部,默认就是严格模式,因而不需要使用use strict指定运行模式。当我们将代码写在类和模块之中,就只有严格模式可用

2、类的实例对象

当我们生成类的实例对象的写法,与ES5完全一样,即使用new命令,实例的属性除显式定义在本身(定义this对象),否则定义在原型上(定义在class上),下面写一个例子

//定义类
class Point {

  constructor(x, y) {
    this.x = x;
    this.y = y;
  }

  toString() {
    return '(' + this.x + ', ' + this.y + ')';
  }

}

var point = new Point(2, 3);

point.toString() // (2, 3)

//检验实例的对象继承的属性在本身还是原型对象上
point.hasOwnProperty('x') // true
point.hasOwnProperty('y') // true
point.hasOwnProperty('toString') // false
point.__proto__.hasOwnProperty('toString') // true
  • 与ES5一样,类的所有实例共享一个原型对象,demo测试如下
var p1 = new Point(2,3);
var p2 = new Point(3,2);

p1.__proto__ === p2.__proto__     //true

3、私有方法和私有属性

相关文章

  • ES6学习笔记—Class基本语法

    1、引言 JavaScript是一门基于原型继承的语法,ES5中我们实现面向对象构造“父类”的写法一般通过构造函数...

  • ES6中的Class

    ES6的class语法 不是一种新的“类”机制,class基本上只是现有 [[prototype]]链(委托)机制...

  • ES6——Class基本语法

    一、 简介   JavaScript语言传统方法是通过构造函数定义并生成新对象。例:   而在ES6中,引入了Cl...

  • ES6之Class

    基本写法 ES6的class语法基本上就是基于以前ES5构造函数的包装函数,也可以叫做语法糖,所有的功能都能用ES...

  • Class的基本语法[ES6]

    Class 的基本语法 简介 JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。...

  • class-基本语法(es6)

    js构造函数 Class 语法 语法糖 这种语法糖形式,看起来和实际原理不一样的东西,我个人不太赞同形式上强行模仿...

  • [转]ES6 Class基本语法

    [转]ES6 Class基本语法 注:本文为转载文章但是我又在此基础上进行修改的添加 简介 严格模式 constr...

  • js继承 es6和es5

    es6 class是个语法糖,本质上是原型链 es6之前

  • Class的基本语法(笔记)

    js与es6对比 1.js中没有类(class)这个概念,通过构造函数的方式实例化对象。 2.es6中,引入类这个...

  • ES6入门之class基本用法

    基本概念 基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class...

网友评论

    本文标题:ES6学习笔记—Class基本语法

    本文链接:https://www.haomeiwen.com/subject/sjatkxtx.html