gpt4 book ai didi

javascript - 类与原型(prototype)属性

转载 作者:行者123 更新时间:2023-12-02 17:22:10 24 4
gpt4 key购买 nike

CoffeeScript: Accelerated JavaScript Development演练这个例子:

class Tribble
constructor: ->
@isAlive = true
Tribble.count++

# Prototype properties
breed: -> new Tribble if @isAlive
die: ->
Tribble.count--
if @isAlive
@isAlive = false

# Class-level properties
@count: 0
@makeTrouble: -> console.log ('Trouble!' for i in [1..@count]).join(' ')

类级属性和Prototype属性之间有什么区别?

最佳答案

每个类对象都存在一个类级属性,而不是在每个实例上单独存在。

因此,在您的示例中,所有实例都只能访问一个变量 count,而不是每个实例化对象的单独成员变量。

其他语言会将这些类级项称为“静态”属性或方法。

可以直接使用类级属性或方法,而无需实际拥有该类型对象的实例,因为它们仅特定于该类,而不特定于该类的特定对象实例。原型(prototype)方法只能在实际实例化的对象上调用。

关于javascript - 类与原型(prototype)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23845238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com