【揺花草子。】<その2313:無限の可能性。>
【揺花草子。】<その2313:無限の可能性。>
Bさん「明示的な型変換のことをキャストって言うじゃないですか。」
Aさん「うわー・・・昨日のキャストの話からそう言う話に持って行くんだ・・・。」
Cさん「変幻自在でしょ?」
Aさん「自在かと言われると。」
Bさん「ともかく、明示的な型変換です。
ここはプログラミング教習の場ではないので
『厳密に言ったら全然違いますぜドララー』とかはやめて下さいね。」
Aさん「誰向けの釘差しだよ。そしてなんで仗助だよ。」
Bさん「例えば、double 型の変数 a と int 型の変数 b があったとして、
a = 6.7, b = 4 だったとしたら、 a + b は 10.7 じゃないですか。」
Aさん「そうだね。
そして戻り値は double 型になるね。」
Cさん「この時 b は暗黙の型変換で double として処理されるわね。」
Aさん「はい。」
Bさん「けども、明示的にキャストして、 a + (double)b と書いても良い。」
Aさん「まあ、うん。そっちの方が安心感は出るしね。」
Cさん「一方、精度が落ちる方のキャスト、
(int)a + (int)b なんてのがあったら答えは 10 になって、
戻り値の型は int ね。」
Aさん「そうなりますね。」
Bさん「こう言う型変換はちょいちょいバグを作り込みやすいポイントと言えると思う。
特に阿部さん大好き JS なんかは動的型付けの言語だから、
実行してみるまでバグに気付けないと言う特徴があるね。」
Aさん「阿部さん大好き JS って表現はやめてもらっていいですかね・・・。」
Cさん「でも JS の無限のポテンシャルとか磨けば育つ感とか
何かとチョロい感じとか好きでしょ?」
Aさん「あなたのその言い方はもう完全に違う方ですよね!!?」
Bさん「まあそんなわけで JavaScript は一般的に変数型が曖昧になりがちと言うか、
プログラマがきちんとそこらへん理解しとかないといけない。」
Aさん「やっと JavaScript って言ってくれたよ。
でもまあ、そうだねえ。型の考えが曖昧であるが故に、
そこらへんはプログラマの裁量に任されていると言えるかも知れないね。」
Bさん「言ってみれば、型付けが苦手だと言うことだ。」
Aさん「苦手・・・?」
Bさん「ガベージコレクションが曖昧なのも
そこらへんに由来するのかもね。」
Aさん「片付けが苦手ってこと?」
そう言うのではない。




