アプリ版:「スタンプのみでお礼する」機能のリリースについて

教えてください。以前も同様の質問させていただいてますが、もう少し突っ込んだ質問をさせてください。
var age;
age = 20;
という書き方と
宣言と同時に初期化する
var age = 20;
があった場合ですが、
分けて書く場合に何か微妙に違いが出てくるのでしょうか?
分けて書く場合は、行間にもし数行何か別の実行文があったり、条件分が入っていたりすると違う動きをしてしまうとか、
外から参照されて実行すると違う結果になってしまうなどの恐れがあるので、なるべく初期値を宣言と同時に代入したり、もしくは宣言と初期値代入の行をなるべく続けてにした方がいいのでしょうか?
でも初期値は内容によって何を初期値とするかというのがあって条件文の中で初期値代入というのもあるかと思いますが。

A 回答 (3件)

>なるべく初期値を宣言と同時に代入したり、


>もしくは宣言と初期値代入の行をなるべく
>続けてにした方がいいのでしょうか?

はい。宣言から初期化までの間に誤って参照する可能性が減りますね。
宣言から初期化までの期間が短ければ、その考慮にかかる労力が
減りますから、バグがでにくくなります。

>でも初期値は内容によって何を初期値とするかというのが
>あって条件文の中で初期値代入というのもあるかと思いますが。

初期化という言葉に振り回されてますね。
参照時正しい値が入っていればよいのです。
宣言時初期化できない場合もありますが、
そういう変数は気を十分気を使ってコーディング
すればよいのです。
    • good
    • 0

「age = 20;」は実行した時点で代入されるので、


var age;
console.log(age);
age = 20;
とか、
var age;
if(~~) { age = 20; }
console.log(age);
のような、違いが出ることが自明な場合を除けば、同じです。

> でも初期値は内容によって何を初期値とするかというのがあって条件文の中で初期値代入というのもあるかと思いますが。

そういう場合は、「初期値」という概念を使って考えることを止めればすっきりすると思います。
    • good
    • 0

微妙に違いが出てきます。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!