面试图谱学习进度

闲暇逛GitHub发现的一个开源面试图谱,准备发一篇文记录一下,不定时更新学习进度。
原作GitHub地址:GitHub.com/InterviewMap/CS-Interview-Knowledge-Map
线上阅读地址:https://yuchengkai.cn/docs/frontend/#内置类型

1.JS分为七种内置类型:七种内置类型又分为基本类型和对象(Object)

  • 基本类型:null、string、boolean、number、symbol、undefined
  • 引用类型:Object

2.Typeof判断数据类型

  • 能判断所有基本类型除了null
    typeof null // 'object'

  • 对于对象,除了函数都会显示object
    typeof console.log // 'function'

  • 想获得一个变量的正确类型,可以通过object.prototype.toString.call(**)
    var gettype=Object.prototype.toString
    gettype.call(null) // '[object Null]'
    gettype.call([]) // '[object Array]'

3.类型转换

  • 转Boolean,除了 undefined, null, false, NaN, ‘’, 0, -0,其他所有值都转为 true,包括所有对象
  • 对象转基本类型,调用 valueOf 和 toString,调用哪个方法,主要是要看这个对象倾向于转换为什么。Symbol.toPrimitive,该方法在转基本类型时调用优先级最高。
  • 四则运算符,加法运算时,其中一方是字符串类型,就会把另一个也转为字符串类型。其他运算只要其中一方是数字,那么另一方就转为数字
[1, 2] + [2, 1][1] =[1,2]+1=[1,2].toString()+1='1,2'+1='1,21'
面试图谱学习进度_第1张图片

你可能感兴趣的:(web前端)