|
■ JavaScript - 基礎知識 - 演算子 - 21.単項演算子
単項演算子とは、演算子と値一つのみである種の演算がなされるものです。
| 演算子 | 使用例 | 意 味 | 別の書き方 |
| ++ | a++;,++a; | aに1を足す | a=a+1; |
| -- | a--;,--a; | aから1引く | a=a-1; |
| - | -a; | aの符号の反転 | ―― |
表の一番上を見て下さい。
「++」とはそれ自体で、
「1を足す」と言う性質を持っているのです。
ここで注意して頂きたいのは、使用例です。
「a++;」と
「++a;」の二通りがありますね。
これは同じようですが、少し意味が違います。
例えば、「b=a++;」とあったとします。
「=」が代入の意味を持っている事はお話しましたね。
この場合「a++;」は「1を足す」と言う意味なのですが、
後ろについているため、「bにaを代入した後で、1を足す」が正解です。
反対に「b=++a;」だと、
「a」の前に
「++」がついているので、
「1を足してから、bにaを代入する」事になります。
a=1; a=1;
b=a++; c=++a;
このときbの値、
cの値は幾らでしょうか?
上の法則乗っ取ると「b=1」、
「c=2」になりますね。
「--」も
「++」と同じです。
これは少々ややこしいので注意しましょう。
次に、一番下の「-」です。「符号の反転」とありますね。
そのままなのですが、ここでも注意があります。
符号は反転されますが、a自体の符号は変わらないと言う事です。
a=1;
b=-a;
a=?;
この時、aは1の値を持っているので、
bの値は1になります。
ですがaの前に「-」がついているので、
実際にはbの値は「-1」になります。
ではその次、三行目のaの値は?
答えは「1」です。
なぜなら、「a=1;」の時に
「-」をつけると
「-a=-1;」になりますが、
a自体の符号が変わる訳ではないからです。
a自体の符号を反転させるには、
「a=-a;」と書く必要があります。
今回は正数について述べましたが、負数の場合も同じです。
|
|