🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

静态方法和实例方法的区别

2019-02-20

回答

  • 静态方法属于一个类,他不能在实例上使用。
  • 实例方法属于类的原型,他继承自该类的所有实例并可以在实例上使用。
Array.isArray // 数组的静态方法
Array.prototype.push // 数组的实例方法

如果 Array.isArray 方法做为数组的一个实例方法将没有任何意义,因为当他可以正常运行时,我们已经知道这个他是一个数组了。

实例方法在技术上可以当作静态方法使用,只是实例方法提供了更简洁的语法:

const arr = [1, 2, 3]
arr.push(4)
Array.push(arr, 4) 

加分回答

  • 使用 ES2015 的类语法创建一个静态方法和实例方法
class Foo {
    bar() {
        console.log('instance method')
    }

    static baz() {
        console.log('static method')
    }
}
Foo.baz() // static method
const f = new Foo()
f.bar() // instance method

返回总目录

每天 30 秒


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步