首页 > web前端 > js教程 > 正文

为什么我更喜欢顶级符号的&#function&#声明(但不会再使用它们)

Patricia Arquette
发布: 2024-10-24 06:18:02
原创
966 人浏览过

Why I Prefer

今天,我们决定在工作中只使用箭头函数。

我们有一个通用的 ESLint 配置,并且团队投票决定在所有项目中统一此规则。

老实说,我不喜欢这个特殊规则

个人而言...函数声明感觉更具表现力,至少对于顶级符号

some-screen-of-my-app.tsx

import {} ...

export function SomeScreen(props: Props) {
  const { myContext } = useMyContext()
  const [state, setState] = useState()

  const doSomething = () => { ... }
  const handleSomething = () => { ... }

  return <>...</>
 }

function SomeInternalComponent() { ... }
登录后复制

这就是我习惯编写组件的方式:声明一个函数感觉就像小说中的章节标题

function Chapter3(storySoFar: Props) {
   // where the Hero meets the Villain
}
登录后复制

但我确实理解团队的需求:根据模块的原始作者,我们可能会在第一级找到 const () =>; {} 或函数。

主要论点是“箭头函数更具可读性”(我不同意)

import {} ...

const SomeInternalComponent = () => { ... }

export const SomeScreen = (props: Props) => {
  const { myContext } = useMyContext()
  const [state, setState] = useState()

  const doSomething = () => { ... }
  const handleSomething = () => { ... }

  return <>...</>
 }
登录后复制

我试图找到一些技术优势来支持我的偏好...一些书呆子*pitimini* [一些小或微不足道的东西]移动了我的利益的平衡,但因为我们所有人都同意以下内容:

  • 没有类(只有函数)
  • 没有全局的东西(现代模块)
  • 没有这个

两者之间没有显着差异。

深入细节:

const foo = () =>; { ... }

  • 禁止吊装
  • 函数的名称源自变量的名称(“foo”)
  • 以后不能像 foo=... 一样被覆盖
  • 不创建原型对象 foo.prototype
  • 不能用作构造函数 new foo()
  • 没有参数
  • 该值由 声明函数的位置 定义

函数 foo() { ... }

  • 吊装
  • 函数名称是obv。
  • 可以像 foo = ... 一样被覆盖
  • 创建对象原型 foo.prototype
  • new 是允许的,例如: new foo() (它将链接原型)
  • 该值由如何调用函数
  • 定义

最终,我更喜欢顶级组件的卓越的清晰度功能,但多数人的意志占上风。
开玩笑,我会适应的。拥有统一的风格将有助于维护有凝聚力的代码库。

???.


感谢您的阅读

以上是为什么我更喜欢顶级符号的&#function&#声明(但不会再使用它们)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!