一白山中

自分を磨き、自分なりの幸せを追求しよう

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