目录
typeof操作符
<script>
var msg='message';
console.log(typeof msg);//String
console.log(typeof (msg));//String
console.log(typeof 70);//Number
</script>
在这个例子中,我们把一个变量(msg)和一个数值字面量传给了typeof操作符,注意,因为他是一个操作符而不是函数,所以不需要参数(但可以使用参数)
Undefined类型
Undefined类型只有一个值,就是特殊值Undefined,当使用var或let声明了变量而没有初始化时,
就相当于给变量赋予了undefined:
var a;
console.log(a);//undefined
Boolean类型
有两个字面量:true和false
虽然布尔值只有两个,但所有其他Script类型的值都有对应布尔值的等价形式,要将一个其他类型的值转化为布尔值,可以调用特定的Boolean()转化函数
var msg='hello';
var asBoolean=Boolean(msg);
Number类型
整数和浮点都是数值型
var a = 10;
var b = 10.5;
String类型
字符串可以用双引号和单引号表示,不同于java,在Java中双引号表示字符串,而单引号表示字符。
js中的字符串也是不可变的,意思是一旦创建,他们的值就不能变了,要修改某个变量的字符串的值,必须先销毁原始的字符串,然后将包含新值的字符串保存到变量。
Symbol类型
生成一个唯一标识符,可用于属性名称、也可用于属性值。目的是消除属性名称冲突。
// 1、创建新 symbol
let sym1 = Symbol()
let sym2 = Symbol('foo')
// 2、每次调用都创建新的 symbol
Symbol('foo') === Symbol('foo') // false
Object类型
对象通过new操作符后跟对象类型的名称来创建,然后对对象添加属性
var o = new Object();
这个语法类似于Java,但js只要求在给构造函数提供参数时括号,如果没有参数,可以不使用括号(不推荐)