今日の復習
チャプター2続きその4
比較演算子
- 等価演算子
→等価演算子で参照型を比較する場合はメモリのアドレスが等しい場合のみtrueを返す。
例
var data1=['Javascript','Ajax','ASP.NET'];
var data2=['Javascript','Ajax','ASP.NET'];
console.log(data1==data2); 結果:false
var data1=['Javascript','Ajax','ASP.NET'];
var data2=data1;
console.log(data1==data2); 結果:true
- 条件演算子
記述方法
条件式? trueの処理;falseの処理
例
var x=200
console.log((x=200)? '当たり':'はずれ'); 結果:当たり
論理演算子
- delete演算子
→オペランドに指定した変数、要素、プロパティを破棄。
破棄に成功したらtrue、失敗した場合はfalseを返す。
例1
→配列の要素を削除した場合、インデックス番号は変わらない。
繰り上がることはなく該当箇所が削除される。
var ary = ['JavaScript','ajax','ASP.NET'];
console.log(delete ary[0]); 結果:true
console.log(ary); 結果:[1:'ajax',2:'ASP.NET']
例2
→オブジェクトもプロパティを削除した場合も配列と同様。
var obj = {x:1,y:2};
console.log(delete obj.x); 結果:true
console.log(obj.x); 結果:undefined
var obj2 = {x:obj,y:2};
console.log(delete obj2.x); 結果:true
console.log(obj); 結果:{y:2}
例3
→明示的に宣言された変数は削除できない。
var data1=1;
console.log(delete data1); 結果:false
console.log(data1); 結果:1
data2=10;
console.log(delete data2); 結果:true
console.log(data2); 結果:エラー
- typeof演算子
→オペランドに指定した変数、リテラルのデータ型を表す文字列を返す。
例
var num = 1;
console.log(typeof num); 結果:number
var str ='カバ';
console.log(typeof str); 結果:string
var flag =true;
console.log(typeof flag); 結果:boolean
var ary =['フグ','okome','sendai'];
console.log(typeof ary); 結果:object
var obj={x:1,y:2}
console.log(typeof obj); 結果:object