为什么Underscore.js定义函数别名

 拍友2602911553 发布于 2023-01-29 02:24

Underscore.js定义了像_.each (alias: forEach)和的函数的别名_.map (alias: collect),我不明白为什么.

我最初认为这是为了避免浏览器本身没有实现这些功能的问题,我的想法是调用[].map()会在IE7和8中引发错误,因为他们没有在本地实现它但发现自从Underscore以来没有问题定义那些.

然后我认为它可能与其他JS库(例如Prototype)的冲突有关,这些库实现了类似命名的函数但后来意识到,在_.map自原型实现的情况下,拥有别名实际上并没有区别.map,.colelct而且实际上我已经一直使用原型的实现(例如this.collection.collect(...)).

到目前为止它似乎没有任何区别,它没有产生任何问题,但我真的想知道为什么会发生这种情况.

1 个回答
  • 我想别名的目的是为了使库具有不同背景的程序员更熟悉(例如,collectinclude在Ruby中使用,fold在功能性语言等).

    此外,例如,别名可以在某些情况下提高可读性

    list.select(...).reject(...)
    

    "听起来"好于

    list.filter(...).reject(...)
    

    2023-01-29 03:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有