JavaScript篇 类型

2019-04-20  本文已影响0人  蜗牛_151a

从运行时、文法和执行过程三个角度去剖析 JS 的知识体系
运行时类型表示 代码实际执行时所用的的数据类型,7大类型之一,从变量、参数、返回值、表达式结果,任何代码在运行时产生的数据都叫运行时类型
undefined,null,string,number,symbol,boolean,object

1.为什么有的编程规范要求用 void 0 代替 undefined?

undefined,null

undefined表示未定义 因为undefined实际是个全局变量,但并非一个关键词
所以,避免无意中被篡改,建议使用 void 0 来获取 undefined 值。

var undefined=123
console.log(undefined) //123 undefined被篡改了,void为关键词

null表示定义了但是为空值,null为关键词,所有不存在被篡改的情况

boolean

2.字符串有最大长度吗?

string

number

基本符合 IEEE 754-2008 规定的双精度浮点数规则,但是 JavaScript 为了表达几个额外的语言场景(比如不让除以 0 出错,而引入了无穷大的概念)

symbol

    var o= new Object()
  o[Symbol.iterator]=function(){
         var v=0;
         return{
                next:function(){
                    return {value:v++,done:v>10}
               }
         }
  }

Object

为什么给对象添加的方法能用在基本类型上?

对象的定义:属性的集合,属性分为数据属性和访问器属性,key-value,key可以是字符串和Symbol
class仅仅是运行时对象的一个私有属性
类型转换,隐式类型转换和显示类型转换
装箱机制会频繁产生临时对象,在一些对性能要求较高的场景下,我们应该尽量避免对基本类型做装箱转换。

上一篇下一篇

猜你喜欢

热点阅读