|
■ 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; 」と書く必要があります。
今回は正数について述べましたが、負数の場合も同じです。
|
|