JavaScriptで書いてみよう!
ここでは式、演算子について説明します。
|
| 短縮演算子 | 意味 |
|---|---|
| x += y | x = x + y |
| x -= y | x = x - y |
| x *= y | x = x * y |
| x /= y | x = x / y |
| x %= y | x = x % y |
| x <<= y | x = x << y |
| x >>= y | x = x >> y |
| x >>>= y | x = x >>> y |
| x &= y | x = x & y |
| x ^= y | x = x ^ y |
| x |= y | x = x | y |
| 演算子 | 説明 | trueを返す例 |
|---|---|---|
| Equal (==) | 値が等しいときtrue | 3 == var1 "3" == var1 3 == '3' |
| Not equal (!=) | 値が等しくないときtrue | var1 != 4 var2 != "3" |
| Strict equal (===) | 値が等しく、型も同じときture | 3 === var1 |
| Strict not equal (!==) | 値が等しくなく、型も違うときtrue | var1 !== "3" 3 !== '3' |
| Greater than (>) | 左側が右側より大きいときtrue | var2 > var1 |
| Greater than or equal (>=) | 左側が右側より大きいか等しいときtrue | var2 >= var1 var1 >= 3 |
| Less than (<) | 左側が右側より小さいときtrue | var1 < var2 |
| Less than or equal (<=) | 左側が右側より小さい等しいときtrue | var1 <= var2 var2 <= 5 |
| 演算子 | 説明 | 例 |
|---|---|---|
| + (Add) | 加算 | 12 + 5 は 17 を返す。 |
| - (Subtract) | 減算 | 12 - 5 は 7 を返す。 |
| * (Multiple) | 加算 | 2 * 3 は 6 を返す。 |
| / (Divide) | 除算 | 1 / 2 は 0.5 を返す。 |
| % (Modulus) | 除余 | 12 % 5 は 2 を返す。 |
| ++ (Increment) | インクリメント(+1)する。++xは加算後の値を返す。x++は加算前の値を返す。 | xが3のとき、++xはxを4にし、4を返すが、x++はxを4にし、3を返す。 |
| -- (Decrement) | デクリメント(-1)する。値の戻りはインクリメントに同じ。 | xが3のとき、--xはxを2にし、2を返すが、x++はxを2にし、3を返す。 |
| - (Unary negation) | マイナス演算子。符号を反転した値を返す。 | xが3のとき、-xは-3を返す。 |
| 演算子 | 使用方法 | 説明 |
|---|---|---|
| Bitwise AND | a & b | ビットごとの論理積を返す。 |
| Bitwise OR | a | b | ビットごとの論理和を返す。 |
| Bitwise XOR | a ^ b | ビットごとの排他的論理和を返す。 |
| Bitwise NOT | ~ a | ビットごとの反転を返す。 |
| Left shift | a << b | aをbビット、左にシフトする。 |
| Sign-propagating right shift | a >> b | aをbビット右にシフトする。符号は保持する。 |
| Zero-fill right shift | a >>> b | aをbビット右にシフトする。符号は保持しない。 |
| 演算子 | 使用方法 | 説明 |
|---|---|---|
| && | 式1 && 式2 | (Logical AND) 式1がfalseのとき、式1を返す。そうでなければ、式2を返す。つまり、両方がtrueのときのみtrueを返し、そうでなければfalseを返す。 |
| || | 式1 || 式2 | (Logical OR) 式1がtrueのとき、式1を返す。そうでなければ、式2を返す。つまり、どちらかがtureのときtrueを返し、両方がfalseのときfalseを返す。 |
| ! | !式 | (Logical NOT) 式がtrueのときfalseを返し、そうでなければtrueを返す。 |
構文: condition ? val1 : val2conditionがtrueのときval1を、そうでなければval2を返します。
例: status = (age >= 18) ? "adult" : "minor"statusには、ageが18以上なら"adult"が、そうでなければ、"minor"が代入されます。
例)
for (var i=0, j=9; i <= 9; i++, j--)
document.writeln("a["+i+","+j+"]= " + a[i,j])
構文:暗に定義された変数は削除できますが、varステートメントで定義された変数は削除できません。
delete objectName delete objectName.property delete objectName[index] delete property // withステートメントの中だけ
例: x=42 var y= 43 myobj=new Number() myobj.h=4 // hプロパティを定義 delete x // trueを返す(暗に定義されていれば削除可能) delete y // falseを返す(varで定義されていれば削除不可) delete Math.PI // falseを返す(組込プロパティは削除不可) delete myobj.h // trueを返す(ユーザ定義プロパティは削除可能) delete myobj // trueを返す(ユーザ定義オブジェクトは削除可能)
構文: objectName = new objectType ( param1 [,param2] ...[,paramN] )オブジェクトイニシャライザによりオブジェクトを作成することもできます。
構文: this[.propertyName]
例:
function validate(obj, lowval, hival) {
if ((obj.value < lowval) || (obj.value > hival))
alert("Invalid Value!")
}
onChangeイベントハンドラから以下のように呼び出します。
<B>Enter a number between 18 and 99:</B> <INPUT TYPE = "text" NAME = "age" SIZE = 3 onChange="validate(this, 18, 99)">
構文: 1. typeof operand 2. typeof (operand)typeof演算子は未評価のオペランドの型を表す文字列を返します。オペランドは文字列、変数、キーワード、オブジェクトです。括弧はオプションです。
例:
var myFun = new Function("5+2")
var shape="round"
var size=1
var today=new Date()
typeof myFun //object
typeof shape //string
typeof size //number
typeof today //object
typeof dontExist //undefined
typeof true //boolean
typeof null //object
typeof 62 //number
typeof 'Hello world' //string
typeof document.lastModified //string
typeof window.length //number
typeof Math.LN2 //number
typeof blur //function
typeof eval //function
typeof parseInt //function
typeof shape.split //function
typeof Date //function
typeof Function //function
typeof Math //function
typeof Option //function
typeof String //function
構文: 1. void (expression) 2. void expressionvoid演算子は式を戻り値なしで評価することを指定します。
例: <A HREF="javascript:void(0)">Click here to do nothing</A> <A HREF="javascript:void(document.form.submit())"> Click here to submit</A>
| 演算子の型 | 演算子 |
|---|---|
| comma | , |
| assignment | = += -= *= /= %= <<= >>= >>>= &= ^= |= |
| conditional | ?: |
| logical-or | || |
| logical-and | && |
| bitwise-or | | |
| bitwise-xor | ^ |
| bitwise-and | & |
| equality | == != |
| relational | < <= > >= |
| bitwise shift | << >> >>> |
| addition/subtraction | + - |
| multiply/divide | * / % |
| negation/increment | ! ~ - + ++ -- typeof void delete |
| call | () |
| create instance | new |
| member | . [] |
|
|