named exportは有害だと考えられます

2022-07-20

https://zenn.dev/yuhr/articles/668dba202726bf

アンサー: named exportは有害なのか - uhyo/blog
https://blog.uhy.ooo/entry/2021-09-09/answer-named-export/

どちらもまとめて読んでおきたい。
どちらが必ず有効、とかではないというのは私も前から思っているので、どちらが良さそうかはその時その時で考えていくべきだと思う。

私はnamed exportを「禁止」しようとまで言っているわけでは決してなくて(そういうニュアンスに感じられてしまう強い表現になっていることは認めます)、実際、import/no-named-exportを使うようには勧めていない
https://zenn.dev/link/comments/8ad8d793e106ac

...こうした扇情的なタイトルにしたことで、結果的にみなさんの目に触れ、良くも悪くも「考える」という機会をもたらすことができたと思います。
https://zenn.dev/link/comments/8ad8d793e106ac

扇情的なタイトルの良し悪しは置いておいて、考え続けていくことは大事だと私も思う。

参考

一点だけ補足すると、もともと3rd partyのtypescript guideが "default export is considered harmful" ってタイトルで記事を公開していて、default export反対派(というのはぼくのことですが)がしばしばこの記事を自説を補強するものとして参照していたんですよね。
https://twitter.com/Nkzn/status/1435828020728586242

https://twitter.com/__gfx__/status/1435829452164927489

実際のところ最近はdefault exportによる弊害は少なくなってきているのは確かだと思うけど、かといって「敢えて」default exportを使うべき状況は特にないと思っている。

というわけで、当分は eslint-plugin-import の import/no-default-export は有効にし続けるだろう。

https://twitter.com/__gfx__/status/1436229575638355992