[iOS 从零单排] js基础系列-数据类型概述JavaScript主要看阮一峰老师的JavaScript 教程,这一阶
JavaScript主要看阮一峰老师的JavaScript 教程,这一阶段打算快速过一遍,主要是记录一些js与oc和swift不同的关键点
基本数据类型
- 数值(number)
- 字符串(string)
- 布尔值(boolean)
- undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值。
- null:表示空值,即此处的值为空。
- 对象(object):各种值组成的集合。
JavaScript的对象是可以分成三个子类型:
- 狭义的对象(object)
- 数组(array)
- 函数(function)
JavaScript 把函数当成一种数据类型,可以赋值给变量,这为编程带来了很大的灵活性,也为 JavaScript 的“函数式编程”奠定了基础。
typeof 运算符
typeof运算符可以返回一个值的数据类型。
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
// 函数返回function
function f() {}
typeof f
// "function"
// undefined返回undefined。
typeof undefined
// "undefined"
// null返回object。
## typeof null // "object"
null 和 undefined
可以注意到上面的null用typed后返回的是object,同时null与undefined都可以表示“没有”,含义非常相似。在if条件判断时都被转换为false,这是因为JS设计的历史原因造成的,我们只需要了解到他们的主要区别:
null是一个表示“空”的对象,转为数值时为0;undefined是一个表示"此处无定义"的原始值,转为数值时为NaN。
// null的计算
Number(null) // 0
5 + null // 5
// undefined的计算
Number(undefined) // NaN
5 + undefined // NaN
布尔值
除了下面六个值被转为false,其他值都视为true。
- undefined
- null
- false
- 0
- NaN
- ""或''(空字符串)
转载自:https://juejin.cn/post/6984664784218095624