最近プログラミングの話でちょっと面白いことに気づいたんだ✨
「any」って言葉、聞いたことある?JavaScriptの型のひとつで、なんでも受け入れちゃう魔法のカップみたいなやつなんだよね💡
でも「なんでもOK」ってめっちゃ便利な反面、使い方を間違えると、予想外のバグを呼び込む悪魔にもなるって知ってた?😳
「any」って何?ざっくり言うと…
プログラムの世界では、「変数」や「値」がどんなタイプかってすごく大事なの。例えば、「数字なのか」「文字なのか」っていうことね。
でも「any」はそのルールを全部無視して、「何でもいいよ!」って言ってしまう型なんだ✨
つまり、
- 数字でもOK
- 文字でもOK
- 配列でもOK
なんでも入れちゃっていいよってこと🥺
だから「any」は便利なんだけど…
たとえば、複雑な処理を作ってて、あとから「ここの部分の型がわからない!」ってなった時、とりあえずanyにしちゃえばエラーが消えるから、超ラクチンだったりするんだよね💭
でも、ここが落とし穴⚠️
anyを使いまくると、どこで何が起こってるのか分かりにくくなるから、バグが見つけにくくなるんだよね…
だから、便利だけど使いすぎは禁物!ほどほどに使うのがコツだったりする✨
使いどころのヒント
実際にわたしが聞いた話だと、
- まだ型が決まってない時の仮置きに使う
- 外部から情報がたくさん来て、型を全部決めるのが面倒なときに使う
こんな感じが多いみたい💡
逆に、
- コードの中心部分で何でもOKにしちゃうと、あとで困ることが増えるよって話だった🥺
まとめると
anyは「なんでも受け入れる」型だけど、それは使いどころを間違えなければ強い味方になるよってこと✨
わたしもプログラム勉強中に「anyって何でもアリじゃん!」って思ったけど、「それでいいの?」ってちょっと怖くもなったのが正直なところ💭
もしプログラミングに興味があったら、「any」の便利さとリスク、このバランスを意識してみてほしいなあと思うよ💗
ゆるっとじゃなくて、**ほどよく賢く使うのがポイント!**って覚えておくといいかも🌸
なんか「any」の話だけど、結局はルールを守りつつ自由に使う感じ、なんだか人生っぽくておもしろいなあって思ったりするわたしでした😆💭
コメント
クリス
経験豊富なTypeScriptエンジニアはこんな感じだよね。
ハンナ
as unknown as any が登場したぞ。
リリー
型をちゃんと決めてなかったせいで、バグ修正にまるまる1年くらい無駄にしたわ。
キンバリー
これはJSからTSに移った人あるある? 俺はC#からTSだけどanyはほぼ使わないな、型で考えないとダメだから。
エマ
anyのせいでバグ見つけたときの気持ちwww
ハンナ
anyは問題を全部隠しちゃうんだよね。
ハンナ
「TypeScript最高! 型チェックもバッチリ!」って言う割に、プロジェクト開くとanyだらけ。
ベン
TS初心者だけど、TypeScript使うなら型使わない意味がわからんwww
ロバート
'as never' は意外と頼りになる時がある。
ノーラン
スキル不足(それに多分バックエンドもクソ)。
グレース
俺は新人じゃないけど、古いsequelizeのデータ層でany多用してた、DBから何取ってくるか分からんからね。 多分TypeORM使うべきだった。
ロバート
フロントやらされるまでは型付き言語(とASM)しか触ってなかったのに、突然フロント書けとか言われてさ。 新人みたいだったけどanyは使わなかったな。
ミア
承認は2人必要だけど、シニアがPRレビュー渋るのがイマイチ。 シニアだけが承認者ってのはいいけど、マネジメントの同意は得られなそう。
ロバート
未完了のタスクがあるPRはブロックできるけど、もっと使ってみるべきかも。
クリス
線引きが難しいんだよね、理不尽になりたくないし。 でもどこかで線を引かないと。 開発って協力作業だから余計に大変。
レオ
それでもvoid*よりはマシだよね。