对于对象和类的理解

对象

JavaScript中所有的事物都是对象:字符串、数值、数组、函数等等。此外,JavaScript还允许自定义对象。
对象只是一种特殊的数据,对象拥有属性方法

在ES6中,class(类)作为对象的模板被引入,可以通过class关键字定义类。class的本质是一个function,它可以看作是一个语法糖,让对象原型的写法更加i清晰、更像面向对象编程的语法。

1. 类定义

    // 匿名类
    let Example1 = class {
        constructor(a) {
            this.a = a
        }
    }

    // 命名类
    let Example2 = class Example {
        constructor(a) {
            this.a = a
        }
    }

2. 类声明

    class Example {
        constructor(a) {
            this.a = a
        }
    }

类不可重复声明:

class Example{}
class Example{}
// Uncaught SyntaxError: Identifier 'Example' has already been declared
 
let Example1 = class{}
class Example{}
// Uncaught SyntaxError: Identifier 'Example' has already been declared

且类定义不会像变量定义一样将声明部分提升,这一位置必须在访问前对类进行定义,否则就会报错。

new Example()
let Example = class {}
// Uncaught ReferenceError: Cannot access 'Example' before initialization

类中方法不需要function关键字,方法见不能加分号。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容