数据类型

77 阅读1分钟

数据类型

基本数据类型

值类型,存储变量中存储的是值本身

简单(基本)数据类型放到栈里面

字符串--string

模板字符串 分号里面+${}

        //不用+号来拼接字符串 反引号+${}
        document.write(`我今年${age1}岁了`)

undefine未定义的数据类型--声明但是没有赋值

let age
consloe.log(age)

此时控制台输出就为undefine

boolean布尔型---true或false

null空值---赋值但是为空

let age = null  
console.log(age);

检测数据类型 typeof(数据)

let name='JUSTODIT'
console.log(typeof name);

检测引用数据类型 instanceof

语法:谁 instanceof(属于) 谁

 const arr=[1,2,3,]
 arr  instanceof(属于)  Array
 const obj={name:'justodit'}
 obj instanceof Object

数据类型转换

隐式转换---

1、带有运算符的会自动将字符串转为数字类型除了+号除外

2、任何数据和字符串相加都是字符串

3、+号两边只要有一个字符串就会把另一个转换成字符串

显示转换---

1、Number( )

2、+()

3、paraInt()保留整数

4、paraFloat()保留小数点

引用数据类型

复杂数据类型,存储的是变量的地址(引用)

复杂数据类型放放到堆里面

声明变量优先用const

1、用const定义的数组和对象可以进行正常的增删

2、const声明的值不能更改,声明变量时里面需要初始化

2、对于引用数据来说const声明的不是值,是地址!

      let obj1 = {
            age: 15
        }

        //把obj1的地址给obj2
        let obj2 = obj1 
        //obj2的地址和obj1的地址一样
        //同一个地址找到的值是一样的
        obj2.age = 20 
        //修改了obj2的值也相当于修改了obj1的值
        console.log(obj1);
       
        const arr=['just','just']
        arr=[1,2,3] //数组的地址改变了
        console.log(arr);
    </script>