javascript中的类型转换

Posted 低代码布道师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的类型转换相关的知识,希望对你有一定的参考价值。

javascript中有基本类型和复杂类型,对象就是一种复杂类型,如果对对象做加法、减法、输出会发生什么事情呢?

会进行类型转换,比如使用alert语句输出对象

alert(obj);

会先将对象转换为字符串,然后再输出

如果对对象做算术运算或者比较运算,那么会将对象转换为数值

// explicit conversion
let num = Number(obj);

// maths (except binary plus)
let n = +obj; // unary plus
let delta = date1 - date2;

// less/greater comparison
let greater = user1 > user2;

可以调用的转换api

obj.toString()
obj.valueOf()

对象可以自己实现上述类型转换的方法

let user = {
  name: "John",
  money: 1000,

  // for hint="string"
  toString() {
    return `{name: "${this.name}"}`;
  },

  // for hint="number" or "default"
  valueOf() {
    return this.money;
  }

};

alert(user); // toString -> {name: "John"}
alert(+user); // valueOf -> 1000
alert(user + 500); // valueOf -> 1500

以上是关于javascript中的类型转换的主要内容,如果未能解决你的问题,请参考以下文章

在代码片段中包含类型转换

JavaScript笔试题(js高级代码片段)

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

如何将此 JavaScript 代码片段翻译成 Parenscript?

JavaScript单行代码,也就是代码片段