JavaScript数据类型学习--typeof 运算符

typeof 运算符 (JavaScript):返回一个用于标识表达式的数据类型的字符串。

typeof[(]expression[)] ;
expression 参数是其搜索类型信息的任何表达式。
typeof 运算符把类型信息以字符串形式返回。 typeof 返回六种可能的值:“数字”、“字符串”、“布尔值”、“对象”、“函数”和“未定义”。typeof 语法中的圆括号是可选的。

注:undefined 常量是 Global 对象的一个成员,该常量在脚本引擎初始化后变得可用。 如果已声明了一个变量但还未进行初始化,则其值为 undefined。我们没有必要显式的给一个变量赋值为undefined,因为没有赋值的变量会隐式的(自动的)赋值为undefined;而undefined 主要的目的是为了用于比较,引入之后为了正式区分空对象与未经初始化的变量。

var index = 5;
var result = (typeof index === 'number');
// Output: true

var description = "abc";
var result = (typeof description === 'string');

以下示例为声明的和未声明的变量测试 undefined 的数据类型。

var declared;
var result = (declared === undefined);
// Output: true

var result = (typeof declared === 'undefined');
// Output: true

var result = (typeof notDeclared === 'undefined')
// Output: true

var obj = {};
var result = (typeof obj.propNotDeclared === 'undefined');
// Output: true

// An undeclared variable cannot be used in a comparison without
// the typeof operator, so the next line generates an error.
//  var result = (notDeclared === undefined);

var box;
alert(box)
alert(age)
上面的值一个undefined,一个报错,但是
alert(typeof box)
alert(typeof age)
二者返回类型都是undefined,由此引发思考,我们在定义变量的时候,尽可能的不要只声明,不赋值。

var box={};
if(box!=null) {
 alert("对象已经创建成功")
}
var box=null;//表示还未创建对象,但先声明了对象引用而必须初始化的结果,你还没来的及创建对象,先声明一个对象的变量放在那里,默认初始化为null


隐式转换,当然还有显式转换(可以使用转型函数Boolean()),我们这里只谈隐式转换,如图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值