初学 ES12: 类型 / 类型转换

阅读时长 4 分钟读完

在 JavaScript 中,类型是非常重要的概念。了解类型的概念和类型转换的机制能够帮助我们更好地理解和掌握 JavaScript 这门语言。在 ES12 中,类型和类型转换方面有了一些新的特性,本文将为大家介绍。

类型

在 JavaScript 中,类型分为基本类型和引用类型。基本类型包括:数字(Number)、字符串(String)、布尔(Boolean)、空(Null)、未定义(Undefined)和符号(Symbol)。引用类型包括:对象(Object)、数组(Array)、函数(Function)等。

typeof 运算符

typeof 运算符可以用来判断一个值的类型,返回一个字符串。

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

需要注意的是,typeof null 返回的是 "object",这是一个历史遗留问题。因为在 JavaScript 的早期版本中,null 被错误地认为是一个对象,而实际上它是一个基本类型。

instanceof 运算符

instanceof 运算符可以用来判断一个对象是否属于某个类。

需要注意的是,instanceof 运算符判断的是对象的原型链,而不是对象本身的类型。

类型转换

在 JavaScript 中,类型转换是非常常见的操作。例如,将一个字符串转换为数字,将一个数字转换为字符串等。JavaScript 中的类型转换分为两种:显式类型转换和隐式类型转换。

显式类型转换

显式类型转换是开发者主动进行的类型转换操作,例如使用 Number()、String()、Boolean() 等函数将一个值转换为指定的类型。

需要注意的是,使用 Number() 函数将一个字符串转换为数字时,如果字符串中包含非数字字符,将返回 NaN。

隐式类型转换

隐式类型转换是 JavaScript 引擎自动进行的类型转换操作,例如将一个字符串和一个数字相加时,JavaScript 引擎会将数字转换为字符串,然后进行字符串拼接。

需要注意的是,隐式类型转换可能会造成一些意想不到的结果,例如:

在 ES12 中,引入了一些新的类型转换特性,例如:BigInt()、String.raw() 等。

BigInt

BigInt 是 ES12 新增的一种基本类型,用于表示任意精度的整数。在 JavaScript 中,普通的数字类型(Number)只能表示 2 的 53 次方以内的整数,而 BigInt 可以表示任意大小的整数。

需要注意的是,BigInt 类型不能和普通的数字类型进行运算,必须使用 BigInt() 函数将普通的数字转换为 BigInt 类型。

String.raw

String.raw() 函数可以返回一个模板字符串的原始字符串。

需要注意的是,String.raw() 函数返回的字符串中,反斜杠不会被转义。如果需要转义,可以使用双反斜杠。

总结

了解类型和类型转换是掌握 JavaScript 的关键之一。在 ES12 中,类型和类型转换方面有了一些新的特性,需要我们不断学习和掌握。希望本文能够对大家有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6586418ed2f5e1655d0a2641

纠错
反馈