JS算術
算術演算子
演算子 | 説明 |
---|---|
+ | 追加 |
- | 引き算 |
* | 乗算 |
** | パワー(ES2016) |
/ | 除算 |
% | 係数(剰余) |
++ | インクリメント |
- | 減少 |
代入演算子
演算子 | 例 | 等価に |
---|---|---|
= | X = Y | X = Y |
+ = | X + Y = | X = X + Y |
- = | X - = Y | X = X - と |
* = | X * = Y | X = X * Y |
/ = | X / Y = | X = X / Y |
%= | X%= Y | X = X%のY |
比較演算子
演算子 | 説明 |
---|---|
== | 等しいです |
=== | そして、他の同等のタイプ |
!= | 等しくありません |
!== | 等しいまたは等しくないタイプはありません |
> | より大きい |
< | 以下 |
> = | より大きいか等しいです |
<= | より小さいか等しいです |
? | 三項演算子 |
論理演算子
&& | ロジックと |
---|---|
|| | 論理または |
! | 論理否定 |
タイプ演算子
演算子 | 説明 |
---|---|
typeof演算 | 変数の戻り値の型。 |
instanceofは | オブジェクトは、オブジェクト型のインスタンスである場合は、trueを返します。 |
ビット演算子
32ビットを処理するビット単位の演算子。
任意の数値は、オペランドの演算は、32ビットの数値に変換されます。結果は、JavaScriptの番号に変換されます。
演算子 | 説明 | 例 | 等価に | 結果 | 小数 |
---|---|---|---|---|---|
& | と | 5&1 | 0101&0001 | 0001 | 1 |
| | 若しくは | 5 | 1 | 0101 | 0001 | 0101 | 5 |
〜 | 非 | 〜5 | 〜0101 | 1010 | 10 |
^ | XOR | 5 ^ 1 | ^ 0001 0101 | 0100 | 4 |
<< | ゼロパディング左シフト | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | 署名付き右シフト | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | ゼロフィル右シフト | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
優先順位
値 | 演算子 | 説明 | 例 |
---|---|---|---|
20 | () | グループ化式 | (3 + 4) |
19 | 。 | メンバー | person.name |
19 | [] | メンバー | 人物[「名前」] |
19 | () | 関数呼出し | MyFunctionを() |
19 | 新着 | 作ります | 新しいDate() |
17 | ++ | Postfixの増分 | I ++ |
17 | - | サフィックスを下げます | 私 - |
16 | ++ | 前置インクリメント | ++ I |
16 | - | プレフィックスデクリメント | - 私 |
16 | ! | いいえロジックありません | !(X == Y) |
16 | typeof演算 | タイプ | typeof演算のx |
15 | ** | べき乗(ES7) | 10 ** 2 |
14 | * | 乗算 | 10 * 5 |
14 | / | 除きます | 10月5日 |
14 | % | モジュラス分周器 | 10%5 |
13 | + | プラス | 10 + 5 |
13 | - | マイナス | 10から5 |
12 | << | 左シフト | X << 2 |
12 | >> | 右シフト | X >> 2 |
12 | >>> | 右シフト(符号なし) | X >>> 2 |
11 | < | 以下 | X <Y |
11 | <= | より小さいか等しいです | X <= Y |
11 | > | より大きい | X> Y |
11 | > = | より大きいか等しいです | X> = Y |
11 | に | オブジェクトの属性 | 数学では「PI」 |
11 | instanceofは | オブジェクトのインスタンス | instanceofはアレイ |
10 | == | 等しいです | x == yの |
10 | === | 厳密に等しいです | X ===と |
10 | != | 等しくありません | x!= yの |
10 | !== | 厳密等しくありません | x!== yの |
9 | & | ビットAND | X&Y |
8 | ^ | ビットごとのXOR | x ^ yの |
7 | | | ビットごとのOR | X | と |
6 | && | ロジックと | X && Y |
5 | || | いいえロジックありません | X || と |
4 | ?: | 条件 | ?"はい・いいえ" |
3 | = | 割り当て | X = Y |
3 | + = | 割り当て | X + Y = |
3 | - = | 割り当て | X - = Y |
3 | * = | 割り当て | X * = Y |
3 | %= | 割り当て | X%= Y |
3 | << = | 割り当て | X << = Y |
3 | >> = | 割り当て | X >> = Y |
3 | >>> = | 割り当て | X >>> = Y |
3 | &= | 割り当て | X&Y = |
3 | ^ = | 割り当て | X ^ = Y |
3 | | = | 割り当て | X | = yの |
2 | 産出 | ポーズ機能 | 収量X |
1 | 、 | コンマ | 7、8 |
JSのデータ型
様々な格納することが可能なJavaScriptの変数 のデータ型 、数値、文字列、配列、オブジェクトなど:var length = 7; // 数字
var lastName = "Gates"; // 字符串
var cars = ["Porsche", "Volvo", "BMW"]; // 数组
var x = {firstName:"Bill", lastName:"Gates"}; // 对象
JavaScriptは、動的な型を持っています。これと同じ変数は、異なるタイプで使用できることを意味は:
var x; // 现在 x 是 undefined
var x = 7; // 现在 x 是数值
var x = "Bill"; // 现在 x 是字符串值
ブール値その2つだけ値:trueまたはfalse。
JavaScriptの配列は角括弧内に書かれました。
カンマで区切られた配列内のアイテム。
var cars = ["Porsche", "Volvo", "BMW"];
JavaScript 对象用花括号来书写。
对象属性是 name:value 对,由逗号分隔。
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
您可使用 JavaScript 的 typeof 来确定 JavaScript 变量的类型
typeof 运算符返回变量或表达式的类型:
typeof 运算符对数组返回 "object",因为在 JavaScript 中数组属于对象。
typeof "" // 返回 "string"
typeof "Bill" // 返回 "string"
typeof "Bill Gates" // 返回 "string"
typeof 0 // 返回 "number"
typeof 314 // 返回 "number"
typeof 3.14 // 返回 "number"
typeof (7) // 返回 "number"
typeof (7 + 8) // 返回 "number"
undefined
在 JavaScript 中,没有值的变量,(技术上)其值是 undefined。typeof 也返回 undefined
任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。
var person; // 值是 undefined,类型是 undefined
空值
空值与 undefined 不是一回事
空的字符串变量既有值也有类型
var car = ""; // 值是 "",类型是 "string"
null
在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。
不幸的是,在 JavaScript 中,null 的数据类型是对象。
您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
您可以通过设置值为 null 清空对象:
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
person = null; // 值是 null,但是类型仍然是对象
document.getElementById("demo").innerHTML = typeof person; //object
您也可以通过设置值为 undefined 清空对象:
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
person = undefined; // 值是 undefined,类型是 undefined
document.getElementById("demo").innerHTML = person; //undefined
Undefined 与 null 的值相等,但类型不相等:
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
原始数据值是一种没有额外属性和方法的单一简单数据值。
typeof 运算符可返回以下原始类型之一:
- string
- number
- boolean
- undefined
typeof "Bill" // 返回 "string"
typeof 3.14 // 返回 "number"
typeof true // 返回 "boolean"
typeof false // 返回 "boolean"
typeof x
复杂数据
typeof 运算符可返回以下两种类型之一:
- function
- object
typeof 运算符把对象、数组或 null 返回 object。
typeof 运算符不会把函数返回 object。
typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4] // 返回 "object" (并非 "array",在JavaScript数组即对象)
typeof null // 返回 "object"
typeof function myFunc(){} // 返回 "function"