Boolean 演算子 ===と==の違い javascript 入門

   

Boolean  javascript 入門

Boolean

Booleanrオブジェクトについて解説します。

宣言
変数名 = new Boolean(値);

代入
変数名 = 値;

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>sample1</title>

<script type="text/javascript">

function helloworld(){

bool = new Boolean(true);
document.write(bool);
}

</script>
</head>
<body>
<form>

<input type="button" value="ここをクリック" onClick=" helloworld()">

</form>

</body>
<html>

実行結果はtrueです。

Boolean constructor プロパティ

constructor プロパティはコンストラクタを参照します。

変数名.constructor

実行結果はfunction Boolean() { [native code] }

prototype プロパティ

prototype プロパティは配列にプロパティを作成する。
Boolean.prototype.プロパティ名 = 値;

toString プロパティ

変数名.toString()

文字列に変換します。

 

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>sample1</title>

<script type="text/javascript">

function helloworld(){

bool = new Boolean(true);

str = bool.toString();

if (str === true){
alert(1);
}
else{
alert(0);
}
}

</script>
</head>
<body>
<form>

<input type="button" value="ここをクリック" onClick=" helloworld()">

</form>

</body>
<html>

実行結果は0になります。

文字列を比較したいときは""でくくります。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>sample1</title>

<script type="text/javascript">

function helloworld(){

bool = new Boolean(true);

str = bool.toString();

if (str === "true"){
alert(1);
}
else{
alert(0);
}
}

</script>
</head>
<body>
<form>

<input type="button" value="ここをクリック" onClick=" helloworld()">

</form>

</body>
<html>

実行結果は1です。

valueOf メソッド

valueOfは値を取得します。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>sample1</title>

<script type="text/javascript">

function helloworld(){

bool = new Boolean(true);

num = bool.valueOf();

if (num === 1){
alert(1);
}
else{
alert(0);
}
}

</script>
</head>
<body>
<form>

<input type="button" value="ここをクリック" onClick=" helloworld()">

</form>

</body>
<html>

実行結果は0になります。

なぜでしょうか?

どうすればいいでしょう。

==にすれば1を評価します。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>sample1</title>

<script type="text/javascript">

function helloworld(){

bool = new Boolean(true);

num = bool.valueOf();

if (num == 1){
alert(1);
}
else{
alert(0);
}
}

</script>
</head>
<body>
<form>

<input type="button" value="ここをクリック" onClick=" helloworld()">

</form>

</body>
<html>

実行結果は1です。

javascriptは

==は大雑把に評価します。

===は厳密に評価します。

 

 

PR



 - javascript 入門

Translate »