美文网首页
构造函数—es5与es6

构造函数—es5与es6

作者: yueluoxingliu | 来源:发表于2022-02-04 14:01 被阅读0次

//构造函数  构造器-----es5

function Animal(type, name, age, sex) {

    this.type = type;

    this.name = name;

    this.age = age;

    this.sex = sex;

}

//定义实例方法(原型方法)

Animal.prototype.print = function () {

    console.log(`【种类】:${this.type}`);

    console.log(`【名字】:${this.name}`);

    console.log(`【年龄】:${this.age}`);

    console.log(`【性别】:${this.sex}`);

}

const a = new Animal("狗", "旺财", 3, "男");

a.print();

for (const prop in a) {

    console.log(prop)//type  name age sex print

}

##传统的构造函数的问题

1. 属性和原型方法定义分离,降低了可读性

2. 原型成员可以被枚举

3. 默认情况下,构造函数仍然可以被当作普通函数使用


//es6 构造函数语法糖

class Animal {

    constructor(type, name, age, sex) {

        this.type = type;

        this.name = name;

        this.age = age;

        this.sex = sex;

    }

    print() {

        console.log(`【种类】:${this.type}`);

        console.log(`【名字】:${this.name}`);

        console.log(`【年龄】:${this.age}`);

        console.log(`【性别】:${this.sex}`);

    }

}

const a = new Animal("狗", "旺财", 3, "男");

a.print();

for (const prop in a) {

    console.log(prop);//type  name age sex

}

## 类的特点

1. 类声明不会被提升,与 let 和 const 一样,存在暂时性死区

2. 类中的所有代码均在严格模式下执行

3. 类的所有方法都是不可枚举的

4. 类的所有方法都无法被当作构造函数使用

5. 类的构造器必须使用 new 来调用

相关文章

  • ES5 和 ES6 继承比较:

    ES5构造函数和继承: ES6构造函数和继承:

  • ES6 类和ES5 构造函数

    ES5的构造函数和ES6的Class区别 ES5的构造函数的原型上的属性和方法可以遍历/ES6 不能够遍历 ES6...

  • ES6对正则做了哪些扩展?

    1、ES6 RegExp 构造函数表示形式在ES5 中,RegExp构造函数的参数有两种表示方式: 在ES6中,第...

  • Js 中的类

    ES5中,使用构造函数是这样的: ES6中,构造函数 上面中constructor就是构造方法。注意定义类的方法时...

  • javascript中的class

    ES5 定义构造函数 通过构造函数加属性,通过原型加方法: ES6 Class语法 class 实际上是语法糖,编...

  • ES6 的知识点学习笔记(2) - class 静态方法 继承

    在之前的 ES5 中, 是没有类 (class) 的概念的,例子: ES5 构造函数 Person ES6 cla...

  • es5实现class类

    es5没有类,只有构造函数。ES6新增了class,用于创建类。本文通过es5来实现es6的class(一个Ani...

  • JS基础:面向对象编程

    目录一. 类与对象 1. ES5里的构造函数(constructor)与对象的生成 2. ES6里的类(class...

  • 构造函数相关笔记

    es5环境下写构造函数 继承 es6环境下的构造函数 继承 class的set和get clsss的静态方法

  • ES6 写法示例

    匿名函数调用 ES5 ES6 箭头函数 将数组的内容 * 2 ES5 ES6 默认参数 ES5 ES6 不定参数 ...

网友评论

      本文标题:构造函数—es5与es6

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