gpt4 book ai didi

javascript - 对 JavaScript 原生类型进行原型(prototype)设计,气馁了?

转载 作者:行者123 更新时间:2023-11-29 16:28:32 25 4
gpt4 key购买 nike

在 JavaScript 的原生类型(如 Array、String、Number 等)中制作附加功能的原型(prototype)是个坏主意吗?

我认为拥有像 myArr.pop() 等功能会很棒,但如果有一天它成为 ECMAScript x 的一部分——并且与我的实现不同,那么它可能会破坏整个软件怎么办?

最佳答案

Prototype 是一个广泛扩展原生 Javascript 类型和 DOM 类的库,并且非常好地展示了扩展 Javascript 原生类型的优点、缺点和丑陋之处。

优点:您将获得看起来自然的 Javascript 代码。

坏处:您忘记了您实际上是在使用 Prototype - 当您切换到一个不使用 Prototype 的项目时会产生困惑。 (为什么我不能......哦,对,那是原型(prototype)功能。)

丑陋之处:如果由于库、浏览器或规范冲突而导致方法定义发生冲突(两种方法在契约(Contract)或签名上有所不同),您可能必须修改客户端代码以保持兼容性。这使得在已经被它们困扰的世界中需要考虑更多的兼容性。

为了兼容性和保持我自己的想法清晰,我个人避免扩展原生或 DOM javascript 类型,并且更喜欢侵入性较小的库而不是 Prototype。

但是,如果您对这些缺点感到放心,请不要让我阻止您。

关于javascript - 对 JavaScript 原生类型进行原型(prototype)设计,气馁了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085240/

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