2.6 Primitive types ECMAScript has 5 primitive types (primitive types), namely Undefined, Null, Boolean, Number and String. ECMAScript provides typeof to determine the type of a value.
1. typeof operator:
var sTemp="test string";
alert(typeof sTemp);//outpus "string"
alert(typeof 95);//outpus "number"
There are only 5 return values of the typeof operator, which are: if the variable is of type Undefined, it returns "undefined", if the variable is of type Boolean, it returns "boolean", if the variable is of type Number, it returns "number", if the variable is of type String, it returns "string" ", if the variable is a reference type or Null type returns "object".
2. Undefined type
The Undefined type has only one value, which is undefined. When the declared variable is not initialized and the function has no clear return value, the default value of the variable and the return value of the function are both undefined. Note that the value undefined is not the same as undefined, but typeof does not distinguish between these two values. Refer to the code below:
var oTemp;
alert (typeof oTemp); //outpus "undefined"
alert(typeof otemp2); //outpus "undefined"
alert(oTemp==undefined); //outpus "true"
alert(oTemp2= =undefined); //causes error
function testFunc(){
//
}
alert(testFunc() == undefined); //outpus "true"
3. Null type Null is also a type with only one value, it has only one special value null. The value undefined is not actually derived from the value null, so ECMAScript defines them as equal.
1 alert(null == undefined); //outpus "true"
Although these two values are equal, their meanings are different. undefined is the value when the variable is declared but not initialized, and null is used to represent an object that does not yet exist.
4. Boolean type Boolean has two values true and false
5. Number type Number can represent a 32-bit integer, and it can also represent 64-bit floating point number, representation between different bases:
var iNum=55;//Decimal
var iNum=070;//Octal
var iNum=oxAB;//Hexadecimal
var fNum=3.125e7;//Scientific notation Represents a floating point number
Several special values are also defined as Number type. The first two are Number.MAX_VALUE and Number.MIN_VALUE, which define the outer boundaries of the Number value collection. All ECMAScript numbers must fall between these two values, but the numerical results generated by calculations do not need to fall between these two numbers.
When the number generated by the calculation is greater than Number.MAX_VALUE, it will be assigned the value Number.POSITIVE_INFINITY, meaning there is no more numeric value. Likewise, calculations that produce a value less than Number.MIN_VALUE will be assigned the value Number.NEGATIVE_INFINITY, meaning there is no longer a numeric value. If a calculation returns an infinity, the resulting result cannot be used in other calculations.
In fact, there is a special value that represents infinity, namely Infinity. The value of Number.POSITIVE_INFINITY is Infinity, and the value of Number.NEGATIVE_INFINITY is -Infinity.
You can call the isFinit() method on any number to determine whether it is infinite. Example:
var iResult = iNum*some_really_large_number;
if(isFinit(iResult)){
alert("Number is finite");
}
else{
alert("Number is infinite");
}
Another special value is NaN, which means Not a Number. NaN is generally the value when type conversion fails. NaN cannot be used for arithmetic calculations. Another peculiarity of NaN is that it is not equal to itself, so it is recommended to use isNaN(), such as:
alert(NaN == NaN); //outpus "false"
alert(isNaN( "blue")); //outpus "true"
alert(isNaN("123")); //outpus "false"
alert(isNaN(123)); //outpus "false"
6. String type String is the only primitive type that does not have a fixed size. ECMAScript character literals:
Literal meaning
n Line feed
t Tab tab
b Space
r Symbol
\ backslash
' ' Single quotation mark
" Double quotation mark