JS中toString的各种用法,并实现x==1&&x==2&&x==3

14 阅读1分钟

1、将十进制转化成二进制、八进制、十六进制

let num = 10;
console.log(num.toString(2)); // 1010

2、将数字转化成字符串

let num = 10;
console.log(typeof num.toString()); // string

3、将数组转化成字符串,类似join()方法

let arr = [1, 2, 3];
console.log(arr.toString()); // 1,2,3

4、将日期转化成字符串

let D = new Date();
console.log(D.toString()); // Thu Jul 21 2022 10:47:10 GMT+0800 (GMT+08:00)

5、返回该对象的类型

let obj = {};
console.log(obj.toString()); // "[object Object]"
console.log(Math.toString()); // "[object Math]"

6、使用 toString() 检测对象类型

let toString = Object.prototype.toString;
console.log(toString.call(new Date)); // [object Date]
console.log(toString.call(new Array)); // [object Array]
console.log(toString.call(new Object)); // [object Object]
console.log(toString.call(Math)); // [object Math]
console.log(toString.call(() => {})); // [object Function]
console.log(toString.call(new String)); // [object String]
console.log(toString.call(new Number)); // [object Number]
console.log(toString.call(undefined)); // [object Undefined]
console.log(toString.call(null)); // [object Null]

7、自定义toString方法

举例:通过使用toString实现x==1&&x==2&&x==3

let x = {
    val:0,
    toString:()=>{
        x.val++;
        return x.val;
    }
}
console.log(x==1&&x==2&&x==3); // true