美文网首页
JavaScript篇 类型

JavaScript篇 类型

作者: 蜗牛_151a | 来源:发表于2019-04-20 10:56 被阅读0次

从运行时、文法和执行过程三个角度去剖析 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

  • String 用于表示文本数据。String 有最大长度是 2^53 - 1,这在一般开发中都是够用的
  • 字符串实际长度的计算,Unicode 的码点表示一个字符
  • JavaScript 字符串把每个 UTF16 单元当作一个字符来处理,所以处理非 BMP(超出 U+0000 - U+FFFF 范围)的字符时,你应该格外小心。
  • JavaScript 这个设计继承自 Java,最新标准中是这样解释的,这样设计是为了“性能和尽可能实现起来简单”。因为现实中很少用到 BMP 之外的字符。

number

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

  • NaN,占用了 9007199254740990,这原本是符合 IEEE 规则的数字;
  • Infinity,无穷大;
  • -Infinity,负无穷大。
    检测+0和-0的区别 1/-0(-Infinity) 1/0(Infinity)
    计算机计算精度有差别
    0.1+0.2=0.30000000000000004
    0.1+0.2==0.3 //false
    Math.abs() 方法可返回数的绝对值, 属性表示 1 与number可表示的大于 1 的最小的浮点数之间的差值。
    1-大于1的最小浮点数=Number.EPSILON
    Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON

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仅仅是运行时对象的一个私有属性
类型转换,隐式类型转换和显示类型转换
装箱机制会频繁产生临时对象,在一些对性能要求较高的场景下,我们应该尽量避免对基本类型做装箱转换。

相关文章

  • JavaScript篇 类型

    从运行时、文法和执行过程三个角度去剖析 JS 的知识体系运行时类型表示 代码实际执行时所用的的数据类型,7大类型之...

  • JS基础

    JavaScript 面试 JS基础篇 变量类型和计算 JS中使用typeof能得到哪些类型-undefinded...

  • Javascript 基础之类型转换

    1. Javascript 的类型 Javascript 的类型属于松散的类型,它可以存储任何Javascript...

  • JavaScript基础

    JavaScript类型: JavaScript的基本类型:传送门 JavaScript的原始类型:传送门 原始类...

  • 2020-12-22

    进阶篇 一、javascript 1、内置类型 ·js中分为7种内置类型,7种又分为两大类型:基本类型和对象 ·基...

  • JavaScript类型转换基础篇

    参考的这篇文章进行的总结+个人理解 基础知识: 1️⃣强制转换有三种类型方式,Number、String、Bool...

  • JavaScript之引用类型篇

    Object 字面量创建 new操作符 Array Array基本创建方式有两种构造函数 let list=new...

  • JavaScript 变量和类型篇

    一、JavaScript基础 变量和类型 1.JavaScript规定了几种语言类型 JavaScript中的每一...

  • JS基本_2018-07-09

    javascript的组成 javascript的语法 javascript的数据类型: 查看数据类型 javas...

  • JavaScript基本语法,类型及其判断,与HTML的结合

    JavaScript语言的组成: JavaScript与HTML的结合方式 JavaScript数据类型及类型的判...

网友评论

      本文标题:JavaScript篇 类型

      本文链接:https://www.haomeiwen.com/subject/cwbxuqtx.html