こちらの続きです
さて、今回は演算子について学んでいきたいと思います。
演算子
演算子とは
演算子、簡単で身近なものだと「+」とか「−」とかですかね。
色々種類があるみたいなので、まずはchatGPT先生に確認してみましょう。
JavaScriptにおける演算子について、詳しく説明してください。
chatGPTの答え
JavaScriptにおける演算子は、様々な種類があります。
以下に代表的な演算子を紹介します。
代数演算子
代数演算子は、数値の計算に用いられます。
演算子 | 説明 | 例 |
---|---|---|
+ | 加算 |
1 + 2 // 3 |
- | 減算 |
3 - 2 // 1 |
* | 乗算 |
2 * 3 // 6 |
/ | 除算 |
6 / 3 // 2 |
% | 剰余 |
7 % 3 // 1 |
比較演算子
比較演算子は、値の比較に用いられます。真偽値を返します。
演算子 | 説明 | 例 |
---|---|---|
== | 等しい |
1 == 1 // true |
!= | 等しくない |
1 != 2 // true |
=== | 厳密に等しい |
1 === 1 // true |
!== | 厳密に等しくない |
1 !== "1" // true |
> | より大きい |
2 > 1 // true |
>= | 以上 |
2 >= 2 // true |
< | より小さい |
1 < 2 // true |
<= | 以下 |
2 <= 2 // true |
論理演算子
論理演算子は、複数の真偽値の結果を組み合わせます。
演算子 | 説明 | 例 |
---|---|---|
&& | 論理積(AND) |
true && false // false |
|| | 論理和(OR) |
true || false // true |
! | 否定(NOT) |
!true // false |
代入演算子
代入演算子は、変数に値を代入します。
演算子 | 説明 | 例 |
---|---|---|
= | 代入 | x = 1 |
+= | 加算して代入 |
x += 1 (x = x + 1 と同じ) |
-= | 減算して代入 |
x -= 1 (x = x - 1 と同じ) |
*= | 乗算して代入 |
x *= 2 (x = x * 2 と同じ) |
/= | 除算して代入 |
x /= 2 (x = x / 2 と同じ) |
%= | 剰余して代入 |
x %= 2 (x = x % 2 と同じ) |
三項演算子
condition ? value1 : value2
条件式がtrueであればvalue1
を、falseであればvalue2
を返す。
以上が代表的な演算子です。
演算子の組み合わせによって、様々な処理を行うことができます。
...
代表的なものをあげてくれましたが、いくつか例が分かりにくいものもありますねー...
とりあえず一つずつ見ていきたいと思います。
代数演算子
chatGPTは「代数演算子」という言葉を選びましたが、「算術演算子」の方がメジャーな気がします。
(調べたら「代数演算子」でも間違いではないようですが、あまり聞いたことなかった...)
算術演算子は算数と同じなので(記号が違うものもありますが)イメージしやすいかと思います。
「加算」は足し算
「減算」は引き算
「乗算」は掛け算
「除算」は割り算
「剰余」は割り算した「余り」ですね。
そして、chatGPT先生があげたもの以外に
以下のようなものがあります。
演算子 | 説明 | 例 |
---|---|---|
++ | 1加算する |
let x = 5; x++; console.log(x); // 6 |
-- | 1減算する |
let x = 5; x--; console.log(x); // 4 |
** | べき乗する |
2 ** 3 // 8 |
コーディング始めるまでは使い所がイメージできないかもですが
++
(インクリメント)や--
(ディクリメント)は初歩の練習問題とかでもよく出てくるので、すぐに馴染めると思います。
(私はまだ馴染めてません)
比較演算子
こちらも条件式でよくお世話になる演算子です。
これはもう、使いながら覚えるしかないですね。
!
が否定を表しているので(詳しくは論理演算子で出てきます)
それさえ分かればいける、かな。
あ、あとは「厳密に」の意味...これ、ややこしいのですよね...
詳しくはMDNの解説を読んでみてください...><
難しいけど、めっちゃ大事!
論理演算子
これはそのまま。
&&
はAND。算数でいうと、「〇〇かつ××」
||
はOR。算数でいうと、「〇〇または××」
!
はNOT。「〇〇ではない」
こちらも条件式でよく使いますね。
「〇〇かつ××の時は、true
を返す」みたいな感じです。
代入演算子
こちらの説明はめっちゃ簡単にされててアレなんですが、
初心者的に分かりずらいやつですよね。
代入演算子(=)って算数的な感覚が抜けないと
x = 1
は「xは1である」って見えちゃうんですけど
JavaScript的には(他のプログラム言語でもそうだと思いますが)
「xに1を代入する」が正しい表現です。
計算式の解答を出したいのではなく、
変数に値を入れたい訳で
やってることが全く違うので注意です。
なので、+=
についても
x += 1
はx = x + 1
と同じと書かれていますが
読み方としては
「変数x
の中に、変数xに1を足したもの
を代入する」
となります。
あとは書き方を省略するかどうか、というだけですね。
ややこしくって、本当に嫌になりますが
慣れるまでコード書いてみるしかないです。
頑張ります。
三項演算子
これは、if文を1行で書けるようにしました、というやつですね。
まだif文が出てくる前にこの話は難しいかもですが、
構造としては以下の通りです。
条件式 ? trueの場合の処理 : falseの場合の処理
if文でこれを書くとこう
if(条件式){
trueの場合の処理
}else{
falseの場合の処理
}
意味は全く同じですが、
if文では数行かかるところを、1行で書けるので便利だよね、ということです。
ただし、三項演算子で書くのは簡単な処理の場合だけにした方が良いです。
if文で書いてある方が読みやすくなるのであれば、無理に三項演算子を使う必要はありません。
...と最近読んだ「リーダブルコード」という本に書いてありました。
リンク
全てのカリキュラムへのリンクは導入編に置いております
導入編
JavaScriptとは何か、基本的な文法
データ型
変数
演算子 ⇦NOW!!
制御構文