2.1:JavaScript数据类型

你知道吗

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

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

//3. 0.1 + 0.2 不是等于 0.3 么?为什么 JavaScript 里不是这样的?

//4. ES6 新加入的 Symbol 是个什么东西?

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

我们JavaScript 模块会从 运行时、文法、和执行过程三个角度去剖析JS的知识体系

本篇我们从 运行时的角度 去看JavaScript的 类型系统

. 运行时类型 是 代码实际执行过程中我们用到的类型.
. 所有的类型数据都属于7个类型之一.
. 从变量、参数、返回值 到 表达式结果,任何JavaScript代码运行过程中产生的数据 都具有运行时类型.

类型:

. JavaScript 语言的每一个值 都属于 某一种 数据类型.
. JavaScript 语言规定了7种语言类型.
. 语言类型广泛用于 变量、函数参数、表达式、函数返回值等场合.
. 根据最新的语言标准 这7种语言类型:Undefined Null Boolean String Number Symbol Object

 1)Undefined 和 Null

. Undefined 类型表示未定义 它的类型只有一个值 就是undefined.
. 任何变量在赋值前是Undefined类型 值为undefined
var age;console.log(typeof age)//undefined
. 一般我们可以用全局变量undefined(就是名为undefined的这个变量)来表达这个值 或者 void运算 来把任意一个表达式变成undefined值

. 但是呢 在JavaScript代码中 undefined 是一个变量 而非一个关键字 这是JavaScript语言公认的设计失误之一.
. 所以 我们为了避免无意中被篡改 建议使用 void 0 来获取 undefined 的值
console.log(void 1);//undefined

Undefined 和 Null 有一定的表意差别 Null表示的是 '定义了但是为空'.
所以在实际编程中 我们一般不会把变量赋值为undefined 这样可以保证所有值为undefined的变量 都是从未赋值的自然状态.

------------------------------------------------------------------------------------------------

. Null类型也只有一个值 就是null 它的语义表示 定义了但是为空
. 与undefined不同 null是JavaScript的关键字.
. 所以在任何代码中 你都可以放心的使用 null 关键字 来获取 null 值
 

 

 

原文地址:https://www.cnblogs.com/fuyunlin/p/14824409.html