「JavaScript/演算子」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎new演算子: 例など追加
Ef3 (トーク | 投稿記録)
冪乗が Math.pow をベースで書かれていたので改訂
5 行
 
== 算術演算子 ==
  ''{{See|[[JavaScript/Number|数値]]も参照''}}
[[w:加法|加算]] (<code>+</code>)、[[w:減法|減算]] (<code>-</code>)、[[w:乗算|乗算]] (<code>*</code>)、[[w:除算|除算]] (<code>/</code>) の四則演算をはじめとする基本的な算術演算子が存在します。[[JavaScript/Number|数値]]は常に浮動小数点数として扱われます。
BigIntにも演算子を適用できますが、算術演算子の場合両方のオペランドがBigIntである必要があり異なる型が渡されると、暗黙の型変換は行われず TypeErroe となります。
240 行
 
=== 冪乗 ===
冪乗''a<sup>x</sup>''を計するに子(べきじょうえんざんし)<code>[[JavaScript/Math/pow|Math.pow]](''a'', ''x'')</code>、第1オペランドを第2オペランドの累乗した結果使用します。平方根は<code>[[JavaScript/Math/sqrtpow|Math.sqrtpow]](''a'')</code> と同等ですが(自然)対数は<code>[[JavaScript/Math/log|Math.log]](''x'')</code>オペランドとして BigInt を受け入れることがきます。
 
<syntaxhighlight lang="javascript">
const power = Math.pow(2, 10); // ES2016からは 2 ** 10とも書けます。;
alert(power); // 1024
</syntaxhighlight>
** 演算子はBigInt型に対応していますが、Math.pow()メソッドは対応していません。
 
なお、<code>^</code>はビットごとのXOR演算子です。
 
== ビット演算子 ==
'''ビット演算子'''(ビットえんざんし、''bitwise operator'')は、[[w:ビット演算|ビット演算]]の演算子です。ビット演算とは数値を32ビット整数変換し、各ビットに対して行う演算のことです。
 
{| class="wikitable"
274 ⟶ 272行目:
|-
| <code>''a'' >> ''b''</code>
| 符号維持右シフト
|-
| <code>''a'' >>> ''b''</code>
| 0埋め符号なし右シフト
|}
 
284 ⟶ 282行目:
ビット演算子は算術演算子よりも優先順位が低いことに注意してください。
 
{{See also|[[JavaScript/ビット演算]]も参照して下さい。}}
 
== 文字列連結演算子 ==
328 ⟶ 326行目:
これらの演算子は数値にしか適用できないので、処理系が被演算子を自動的に数値に変換(暗黙的な型変換)するためです。
 
かつてこの本で、'''0で0埋め符号なし右シフトをする (<code>one >>> 0</code>)'''あるいは '''補数の補数を求める(<code>~~one</code>)''' を'''文字列を数値に変換する方法'''として紹介されていましたが、前者は32ビット符号なし整数に、後者は32ビット符号付き整数への変換となり浮動小数点数を表す文字列に適用すると、、
 
<syntaxhighlight lang="javascript">