详解详解JavaScript中的强制类型转换中的强制类型转换
主要介绍了JavaScript中的强制类型转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
avaScript 原语原语
JavaScript 建立在一系列基本单元之上。你应该对其中的一些已经很熟悉了,比如字符串和数字:
var greet = "Hello";
var year = 89;
字符串和数字是该语言所谓“原语”的一部分。完整清单是:
1. String
2. Number
3. Boolean
4. Null
5. Undefined
6. Object
7. Symbol (ES6中添加,此处不予介绍)
布尔值用来表示可能是真或假的值。 null 是故意不去赋值,它通常被分配给一个变量,用于表示绑定完毕,稍后将填充有意
义的内容。
var maybe = null;
然后才是 undefined,这意味着变量仍然没有被附加上:
var name;
console.log(name)
undefined
null 和 undefined 看起来非常相似,但它们是两个截然不同的实体,很多开发人员仍然不确定应该使用哪个。
如果要判断 JavaScript 实例的类型,可以用 typeof 运算符。让我们用字符串尝试一下:
typeof "alex"
> "string"
还有数字:
typeof 9
> "number"
用于布尔值:
typeof false
> "boolean"
undefined:
typeof undefined
> "undefined"
还有 null:
typeof null
> "object"
结果令人惊讶! null 看起来像一个对象,但实际上它是 JavaScript 中的一个历史性错误,自语言诞生就躺在那里了。 由于这
些问题,JavaScript 一直声名狼借。但这仅仅是个开始。
陌生的事情陌生的事情
在 JavaScript 中,在两种类型之间进行转换时有一些奇怪的规则。让我给你一些背景信息。先用 Python 举一个例子。 在
Python 中执行以下指令:
'hello' + 89
会给你一个明确的错误:
TypeError: can only concatenate str (**not** "int") to str