永利娱乐注册

首页 > 正文

值类型转换

www.qrseries.com2019-07-13
澳门永利娱乐娱城官网

将值从一种类型转换为另一种类型通常称为类型转换,这是一种明确的情况;隐式案例称为演员。

它还可以区分如下:类型转换发生在静态类型语言的编译阶段,而强制转换发生在动态类型语言的运行时。

但是,它们通常被称为JavaScript中的强制转换,我个人更喜欢使用“隐式强制转换”和“显式强制转换”来区分它们。

两者之间的区别是显而易见的:我们可以从代码中看到显式强制转换,隐式强制转换不太明显,通常是某些操作的副作用。

例如:

Var a=42;

Var b=a +''; //隐式演员

Var c=String(a); //显式强制转换

对于变量b,cast是隐含的;由于+运算符的一个操作数是一个字符串,它是一个字符串连接操作,结果是数字42被强制转换为相应的字符串'42'。

String(.)是对字符串的显式强制转换。

两者都将数字42转换为字符串'42'。然而,他们的不同治疗方法已成为争论的焦点。

这里的“明确的”和“隐含的”和“明显的副作用”和“隐藏的副作用”是相对而言的。

如果您了解+''是什么,那么它对您来说是“明确的”。相反,如果您不知道可以使用String(.)来进行字符串强制转换,那么它可能是“隐含的”。

我们在这里讨论通用标准的“明确”和“隐含”,而不是JavaScript专家和规范的标准。

请注意,我们编写的代码主要用于其他代码。甚至JavaScript专家也需要考虑其他不同级别的开发人员,他们是否可以阅读自己的代码,以及他们对“显式”和“隐式”的理解是否与他们自己的一致。

热门浏览
热门排行榜
热门标签
日期归档