JavaScript学習day 02(データタイプ変換とオペレータ)
8979 ワード
データタイプの変換:1、他のデータタイプをBooleanタイプに変換する
Boolean() , true flase。
Boolean true false
String ""
Number 0 0 NaN
Object null
Undefined n/a undefined(n/a not applicable )
:
var o = new Object();
console.log(Boolean(""));// false
console.log(Boolean("aa"));// true
console.log(Boolean(0));// 0 false
console.log(Boolean(NaN));// NAN false
console.log(Boolean(1));// 0 NaN number true
console.log(Boolean(o));// true
console.log(Boolean(null));// null false
console.log(Boolean(undefined));// undefined false
2、他のデータタイプをNumberタイプに変換する1. Number() 。
1) null,undefined,boolean,number
Number(true); //1
Number(false); //0
Number(null); //0
Number(undefined); //NaN
Number(10); //10 ,
2) :
Number("123"); // ,
Number("234.1");//
Number("+12.1");// , ,
Number("1+2.3");//NaN , NaN
Number("0xa"); // ,
Number("010"); //【 !】 , 10
Number(""); // 0
Number("123ac");// : NaN
Number(" 12"); //12
:
( ): number( )
( ): NaN
2.parseInt()
1) null,undefined,boolean,number
parseInt(true); //NaN
parseInt(false); //NaN
parseInt(null); //NaN
parseInt(undefined);//NaN
parseInt(10); //10 ,
parseInt(10.3); //10 ,
2) :
parseInt("123"); //123; ,
parseInt("234.1");//234;
parseInt("+12.1");//12; , ,
parseInt("0xa"); //10; ,
parseInt("010"); //10; 【 !】 , 10
parseInt(""); // NaN; NaN
parseInt("1+2.3");//1; , , , , Number
parseInt("123ac");//123;
:
1、 , NaN(not a number)
2、 ( )
3、 , , , , ,
3.parseFloat()
parseInt() , :
1. ,
2. 0
parseFloat("22.3.4") //22.3
parseFloat("022.34"); //22.34
3. 0x( )
3、03)他のデータタイプから文字列タイプへの変換1. toString()
,toString() , , , ,
var num = 10;
num.toString(); "10"
num.toString(2); "1010"
num.toString(8); "12"
num.toString(16); "a"
null ,undefined toString()
null.toString() // TypeError: null has no properties
undefined.toString(); // TypeError: undefined has no properties
2. String()
String(null) "null"
String(undefined); "undefined"
オペレータ++,--,+,- 【 】, Number ( Number() )
1. ++
var a = "11";
1+a++;
1+ ++a;
:
:
, (Number()), , , valueOf , , toString(), 。
2. --
:
:
, , , valueOf , , toString(), 。
3. +
Number();
var a = "12"
+a ; // 12 Number("12")
4. -
, 。
, ,
var c = "asd";
console.log(-c);// NaN
02) , (NOT)
!
【 】。 Boolean, ,
!a ==> !Boolean(a)
!0 //true
!"" //true
!NaN //true
!false //true
, Boolean ,!!a ==> Boolean(a)
!!"" //false
03) && ( , )
。 , boolean
1. null,NaN,undefined,false,0,"" false
( boolean false, && , , )
2. ,
var s1 = 8;
var s2 = "briup";
var s3 = "";
var result = s1 && s2; //briup
var result2 = s3 && s2; //
( : falsr, , true, , false, 。)
04) ||( , )
false ||
null,NaN,undefined,false,0,"" false
null,NaN,undefined,false,0,""
: true, , true, , false, 。
05)
1. +
m + n
1) m,n String,Object , m,n Number ,
true + false; //1;Number(true)+Number(false);
null + undefined; //NaN;Number(undefined) -> NaN
2) m,n String, ( ) String,
"1" + true; // 1true
"1" + undefined;// 1undefined
"1" + 1; // 11
3) m,n , toString, valueOf , valueOf , 。 valueOf , toString , 。
var o = {
name:"briup",
valueOf:function(){
return "1";
}
}
o+1; //2;o+1
2. -
【 】。 , Number() Number , 。
true - 1; //0; 1-1
null - true; //-1 ; 0-1
1 - undefined //NaN
var o = {
name:"briup",
valueOf:function(){
return 1;
}
}
o-1; //0; 1-1
06)
【 】 Number()
1. *
,
NaN, NaN
Infinity
, Number() 。
2. /
NaN, NaN (0/0 ; NaN)
0 0 Infinity
, Number() 。
var s1 = 5;
var s2 = 2;
var result = s1/s2; //2.5
3. %
,
NaN, NaN( %0 ; NaN)
, Number() 。
07)
< > <= >= , 【Boolean】
1. ,
"a">"b" //false
"1">"a" //false
2. ,
"3">1; //true
3>true; //true 3>Number(true)
3>undefined; //false Number(undefined)=NaN ; NaN false
3. , valueOf(), toString(); , toString() valueOf() false
var o = {
name:"briup",
valueOf:function(){
return "13";
}
}
o>2 // true ; "13">2
08) , 【Boolean】
1. ==, != ( )
1. ,
2. ,
3. ,
4)null == undefined //true
5)NaN ( NaN) false, true.
6) number , undefined,null,boolean,string , ,
2.
, , , ,
console.log("55" == 55); true
console.log("55" === 55);false
null == undifined; //true null undifined
null === undifined; //false
:
。
, , , false, ,
09) ? :
variable = boolean_expression ? true_value : false_value;
if( ){
true_value
}else{
false_value
}
boolean_expression true, true_value variable, false_value variable
:
function max(m,n){
return m>n?m:n; // m>n true m, m>n false, n
}
10) =
var a=2;
var b=a++;
*= /= %= += -=
var a = 4;
a *= 3; //=> a = a*3;
11)
var num1=1,num2 = 2, num3 = 3;