You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Data fetching, setting up a subscription, and manually changing the DOM in React components are all examples of side effects. Whether or not you’re used to calling these operations “side effects” (or just “effects”), ...
とあり、effect と side effect は事実上同じものであり単に effect の方が短くて便利から使うよ、という扱いに見える。
Here and later in this text, capitalized “Effect” refers to the React-specific definition above, i.e. a side effect caused by rendering. To refer to the broader programming concept, we’ll say “side effect”.
"(side) effect" をどう翻訳するかはいつも悩むのですが、旧ドキュメントでは原文が "side effect" であろうと "effect" であろうととにかく一貫して「副作用」と訳す方針にしていました。理由は以下の通りです。
原文ドキュメントで "side effect" と "effect" を一貫性のある基準で区別して使っているように思えない。むしろ同一視するような記載もある。例えば旧サイトの useEffect の説明には
とあり、effect と side effect は事実上同じものであり単に effect の方が短くて便利から使うよ、という扱いに見える。
英語話者がどう感じるかはともかく、日本語訳がランダムに「作用」だったり「副作用」だったりすると明らかに混乱を招くので、何らかの統一は要る。
初学者がどう感じるかはともかく、プログラミング(特に関数型プログラミング)の文脈において副作用の定義とは昔からこれなので、useEffect がやっていることは(side がなくとも)「作用」より「副作用」と呼ぶことが妥当である。
ところが新サイトでは Synchronizing with Effects で以下の方針が明記されており、わりと徹底されているように見えます。
なんなら以下のような文章も出てきます。今の基準だと「副作用によって副作用を指定できます」と翻訳することになってしまいます。
すべて見ていませんが、少なくとも useEffect リファランスでは、上記方針は守られています。
原文が
side effect
とEffect
をこれだけ意図的に区別して書くようになった以上、日本語もそれに合わせた区別を導入することは妥当かつ有用なように思えす。Effect
(大文字)の具体的な訳語ですが、とりあえず「エフェクト」が妥当な気がしています。流石に「作用」はやっぱり混乱を招くと思いますし、「関数型言語の研究者ですらこれのことを "副作用" ではなく "エフェクト" と呼んでいる」というような話を見たこともあります。ただ専門外すぎてこの方針で良いのかよく分かっていません。他の詳しい方の意見を聞きたいです。
The text was updated successfully, but these errors were encountered: