JSプログラミング最初の一歩 JavaScript

変数を入れ替える

二つの変数の内容を入れ替える、ということをしてみたいと思います。
たとえば、

num1 = 10;
num2 = 20;

のとき、num1を20にnum2を10にしたいわけです。どのようにすればいいでしょうか?

一見、

num2 = num1;
num1 = num2;

とすればいいように見えます。しかし、これでは最初の行 num2 = num1 を実行したときにnum1もnum2も10になってしまいます。ですから次の行 num1 = num2では10をnum1に代入することになり、両方とも10になってしまうわけです。

これを避けるためにはもう一つ変数を用意する必要があります。このようにちょっとした作業のために用意する変数を作業変数(作業領域)という呼び方をします。英語ではワーキングエリアです。
この作業変数にいったん変数の内容を保存しておきます。

work = num2;

workが作業変数として使う変数です。
作業変数にデータを残したわけですからnum2は上書きしてもかまわなくなりました。

num2 = num1;

その後、num1には保管しておいたworkから値を代入します。

num1 = work;

まとめると以下のようになります。

work = num2
num2 = num1
num1 = work


問題4-5
変数 kongetu に 31を 、変数 zengetu に 24を 代入し、この二つの変数を入れ替えてみよう。