JS 值类型和引用类型

typeof 能判断哪些类型?

  • 识别所有值类型
  • 识别函数
  • 判断是否引用类型(不可再细分)
//判断所有值类型
console.log(typeof a) //undefined
console.log(typeof 'abc') //string
console.log(typeof 100) // number
console.log(typeof true) // boolean
console.log( typeof Symbol('s')) //symbol

//判断函数
console.log(typeof console.log()) //function
console.log(typeof function(){}) //function

//能识别引用类型(不能再继续识别)
console.log(typeof null) // object
console.log(typeof ['a','b']) // object
console.log(typeof {x:100}) // object

值类型和引用类型的区别?

  • 值类型,key value 存在栈
  • 引用类型,key 内存地址1 保存在栈,内存地址1 value 存在堆
//值类型
let a = 100
let b = a
a = 200
console.log(b) //100

//引用类型
let c = {x:100}
let d = c
d.x = 200
console.log(c.x) // 200

常见值类型:undefined string integer boolen symbol

常见引用类型:object array 特殊引用类型(null function)

小刘

爱生活,爱技术

你可能也会喜欢...

发表评论

电子邮件地址不会被公开。 必填项已用*标注