JavaScript数据类型:
简单数据类型: number、 string、 boolean、 undefined、null Symbol 、bigInt
数字型、 字符串型 、布尔型、 未定义型、 空型 、 唯一值、 大整数型
复杂数据类型:object 对象类型等
1 number类型
let age=18;
consloe.log(age); //18
判断数据类型: typeOf() 用来判断简单的数据类型
let age=18;
consloe.log(typeof(age)); //number
let salary=1000.55;
console.log(typeof(salary)); //number
浮点数的精度问题
let num1=0.1;
let num2=0.2;
console.log(num1+num2); //0.30000000000000004
//解决方法1:
let num1=0.1*100;
let num2=0.2*100;
console.log((num1+num2)/100); //0.3
解决方法2:
let numOne=0.1;
let numTwo=0.2;
let result = numOne+numTwo;
console(result.toFixed(1)); // toFixed 是小数点后几位数字
进制问题:
十进制 二进制 八进制 十六进制
八进制:范围 0~7 逢八进一 以0开头
let num=070;
console.log(num) // 7*8=56
十六进制: 范围 0~9 A-F 逢十六进一 以0x开头
let C= 0xA;
console.log(C); // 10
let D=0x1f; //16+15
console.log(D); //31
2 String 类型
let firstName='小高';
let secondName='同学';
console.log(firstName); //小高
console.log(typeof(firstName));
console.log(secondName); //同学
//模板字符串:用` `表示 模板字符串特点:可以换行 便于观察
let firstName=`今天周几了?
周四了`;
console.log(firstName);
//字符串拼接
console.log('123'+'4'); //1234
console.log('123'+4); //1234
let name='小高';
let name1='同学';
console.log(name+name1); //小高同学
console.log("我的名字是:"+name+name1); //我的名字是:小高同学
//模板字符串 处理字符串拼接
let name='小高';
let name1='同学';
let age=20;
let result=`我的名字是:${name}${name1}
我的年龄是:${age}`;
console.log(result);
3 Boolean类型 (true真 或 false假)
let A=true;
let B=false;
console.log(A); //true
console.log(B); //false
console.log(typeof(A)); //Boolean
4 undefined 类型
let A;
console.log(A); //undefined
console.log(typeof(A)); //undefined
console.log(A == undefined); //true
5 null类型
let A=null;
console.log(A);
console.log(typeof(A)); //object 此处是一个bug
console.log(null==undefined); // true
6 Symbol 类型
let s1=Symbol();
let s2=Symbol();
console.log(s1);
console.log(s2);
console.log(typeof(s1)); //Symbol
console.log(s1==s2); //fasle
7 bigInt 类型
let num=Number.MAX_SAFE_INTEGER;
console.log(num); //9007199254740991
console.log(9007199254740992 === 9007199254740993) //true
//此处的原因是最大的是已经表述不了了,会被认为无穷大
普通数字转换为 大整形 用 BigInt 方法
const A=111;
const aBigint=BigInt(A);
console.log(aBigint); // 111n
类型转化:
类型转换:显式类型转化 和 隐式类型转化
//显示类型转化
let num='12345';
let fixnum=Number(num);
console.log(fixnum); // 12345
let str=56;
let fixStr=String(str);
console.log(fixStr); //56
let A='xiaogao';
let fixA=Boolean(A);
console.log(fixA); // true
字符串转换
let age=11;
let fixAge=age.toStrimg(); //此处的toString()括号内填写几,就是按几进制去转换
console.log(fixAge); // 11
console.log(typeof(fixAge)); //string
转整型
let num='120$';
let result=parseInt(num);
console.log(result); //120 parseInt 一般是取以数字开头的
let num='ab120';
let result=parseInt(num);
console.log(result); //NaN
转小数型
let A='125.36$';
let result=parseFloat(result);
console.log(result); // 123.36