JavaScriptデータ型
値の類で、文字列(String)、数字(Number)、真偽(Boolean)、空っぽ(Null)、未定義(Undefined)、Symbol(ES6から追加された型で、唯一無二のデータを表す)
データ引用の類で、オブジェクト(Object)、配列(Array)、関数(Function)
※型の変動は可能である
var x; // x → undefined
var x = 5; // 今の x → 数字
var x = "John"; // 今の x → 文字列
※文字列 「'」 または「"」で括る
var carname="Volvo XC60";
var carname='Volvo XC60';
もちろん、文字列には「'」 または「"」利用可能である
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>一白山中(ennya.hatenablog.com)</title>
</head>
<body>
<script>
var carname1="Volvo XC60";
var carname2='Volvo XC60';
var answer1='It\'s alright';
var answer2="He is called \"Johnny\"";
var answer3='He is called "Johnny"';
document.write(carname1 + "<br>")
document.write(carname2 + "<br>")
document.write(answer1 + "<br>")
document.write(answer2 + "<br>")
document.write(answer3 + "<br>")
</script>
</body>
</html>
※数字
var x1=34.00; //小数点もOK
var x2=34; //
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>一白山中(ennya.hatenablog.com)</title>
</head>
<body>
<script>
var x1=34.00;
var x2=34;
var y=123e5;
var z=123e-5;
document.write(x1 + "<br>")
document.write(x2 + "<br>")
document.write(y + "<br>")
document.write(z + "<br>")
</script>
</body>
</html>
※真偽値
var x=true;
var y=false;
※配列
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
または、
var cars=new Array("Saab","Volvo","BMW");
<!DOCTYPE html>
<html>
<body>
<script>
var i;
var cars = new Array();
cars[0] = "Saab";
cars[1] = "Volvo";
cars[2] = "BMW";
for (i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}
</script>
</body>
</html>
※オブジェクト
var person={firstname:"John", lastname:"Doe", id:5566};
or
var person={
firstname : "John",
lastname : "Doe",
id : 5566
};
使い方
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>一白山中(ennya.hatenablog.com)</title>
</head>
<body>
<script>
var person=
{
firstname : "John",
lastname : "Doe",
id : 5566
};
document.write(person.lastname + "<br>");
document.write(person["lastname"] + "<br>");
</script>
</body>
</html>
※Undefined と Null
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>一白山中(ennya.hatenablog.com)</title>
</head>
<body>
<script>
var person;
var car="Volvo";
document.write(person + "<br>");
document.write(car + "<br>");
var car=null
document.write(car + "<br>");
</script>
</body>
</html>
※データ型を最初に定義できる
var carname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;
因みに、すべての変数は一つのオブジェクトである
※
配列操作
var arr1 = new Array('a', 'b', 'c');
var arr2 = ['a', 'b', 'c' ]; //より簡潔
var arr3 = new Array( ); var arr4 = [ ]; //空っぽ配列作成
添え字に対する操作は要注意
オブジェクト操作
var people = {name : 'Tom', age : 21 , eat : function(){ } }
or
var people = new Object();
people.name = 'Tom';
people.age = 21;
people.eat = function(){ }
function Demo(){
var obj=new Object();
obj.name="太郎";
obj.age=12;
obj.firstF=function(){
}
obj.secondF=function(){
}
return obj;
}
var one=Demo();
// 出力
document.write(one.age);
または:
function Demo(){
this.name="太郎";
this.age=12;
this.firstF=function(){
}
this.secondF=function(){
}
}
var one=new Demo
// 出力
document.write(one.age);
※配列確認
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
document.write(typeof cars); // object
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
// 関数利用可能かの確認
if (Array.isArray) {
if(Array.isArray(cars)) {
document.write("該当対象は配列である") ;
}
}
または
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
if (cars instanceof Array) {
document.write("該当対象は配列である") ;
}
※nullとundefinedの出力
var x,y;
if(x == null){
document.write(x);
}
if(y == undefined){
document.write(y);
}
※基本変数とメモリの関係
var a,b;
a = "zyj";
b = a;
console.log(a); // zyj
console.log(b); // zyj
a = "はは"; // aの値を変えるが、 b に影響しない
console.log(a); // はは
console.log(b); // zyj
※オブジェクトとメモリの関係
var a = {name:"percy"};
var b;
b = a;
a.name = "zyj";
console.log(b.name); // zyj
b.age = 22;
console.log(a.age); // 22
var c = {
name: "zyj",
age: 22
};
※ toString()で数字から文字列へ変換可能である
<script>
var a=100;
var c=a.toString();
alert(typeof(c)); //typeof()で確認
</script>
parseInt() と parseFloat() で文字列を数字まで変換できる
<script>
var str="123.30";
var a=parseInt(str); //parseInt()は文字列から整数まで、parseFloat()は小数まで
var b=parseFloat(str);
</script>
真偽値までの変換は、値の前に 「!!」つければOK、!!0 は False、そのほかは True