JavaScript基础之数据类型

JavaScript起源和特性

原型链是借鉴了Self和Smalltalk语言,所以JavaScript天生原型设计模式。new的原理是找到对象,通过克隆创建一个一模一样的对象,这里根对象是Object.prototype对象,所有对象都是从Object.prototype对象克隆而来。

可以用ECMAScript 5提供的Object.getPrototypeOf来查看着两个对象的原型

七种内置类型

  • 空值(null)
  • 未定义 (undefined)
  • 布尔值 (boolean)
  • 数字 (number)
  • 字符串 (string)
  • 对象 (object)
  • 符号 (symbol ES6新增)

对于这些类型都比较常用,主要将下symbol,主要用于

Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。

  1. 定义对象属性的迭代器,遍历对象中的属性值
  2. 使用symbol.toStringTag来定义对象的toString结果
  3. 消除魔术字符串,比如状态变化是自己定义的几个字符串,最后也是对字符串进行比对,这时就可用Symbol消除魔法字符串。
const shapeType = {
  triangle: 'Triangle'
};
// 可以转换成
const shapeType = {
  triangle: Symbol()
};

function

function也是JavaScript的一个内置类型。是object的子类,有内部属性Call,该属性使其可以被调用。函数对象的length属性是其声明的参数个数

判断数据类型

typeof

instanceof

使用constructor 和Object.toString

参考各种博客、《你不知道的JavaScript》、《JavaScript设计模式与开发实践》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章