JavaScript数据类型转换——转换成字符串

将基本数据类型转换为字符串类型

  • 对于Number类型和Boolean类型来说, 直接利用变量调用toString()方法即可
    var num = 123;
    var res = num.toString();
    console.log(res); // 在谷歌浏览器中String类型输出之后是灰色的
    console.log(typeof res); // string
    console.log(num); // 在谷歌浏览器中Number类型输出之后是蓝色的
    console.log(typeof num);

    var flag = true;
    var res2 = flag.toString();
    console.log(res2);
    console.log(typeof res2);
  • toString()方法会将调用者转换为字符串, 并且会将转换后的结果返回给我们,并且不会修改调用者原有的值
  • 对于null和undefined来说, 不能通过调用toString()方法来转换
    var n = null;
    var res3 = n.toString(); // 会报错

    var u = undefined;
    var res4 = u.toString(); // 会报错
  • toString()方法是可以接收参数的, 参数代表告诉解析引擎, 需要将Number类型转换为多少进制
    • toString(2) 代表需要将调用者转换为2进制
    • toString(8) 代表需要将调用者转换为8进制
    • toString(16) 代表需要将调用者转换为16进制
    var num = 15;
    var res1 = num.toString(2);
    console.log(res1);   //1111
    var res2 = num.toString(8);
    console.log(res2);   //17
    var res3 = num.toString(16);
    console.log(res3);   //f

将null, undefined转换为字符串

  • null, undefined这两个值没有toString()方法, 利用toString()方法不能将null, undefined转换为字符串.
    所以就有了第二种方式:将需要转换的数据传递给String()函数
    var num = 123;
    var res1 = String(num);
    console.log(res1);  //123
    console.log(typeof res1);  //string

    var flag = false;
    var res2 = String(flag);
    console.log(res2);  //false
    console.log(typeof res2);  //string

    var n = null;
    var res3 = String(n);
    console.log(res3);  //null
    console.log(typeof res3); //string

    var u = undefined;
    var res4 = String(u);
    console.log(res4);    //undefined
    console.log(typeof res4);  //string

注意点:String()函数同样不会对原参数有影响


利用数运算符的加法运算来转换字符串

  • toString()方法只能将Number和Boolean类型转换为字符串
  • String()函数可以将Number/Boolean/null/undefined转换为字符串
  • 利用算数运算符的加法运算来转换, Number/Boolean/null/undefined转换为字符串
  • 格式: 需要转换的数据 + ""(空串)
    var num = 123;
    var flag = true;
    var n = null;
    var u = undefined;

    // 任何类型和字符串相加, 都会先转换为字符串之后再相加
    var res1 = num + ""; // 123 + ""  --> "123" + "" --> "123"
    console.log(res1);  
    console.log(typeof res1);

    var res2 = flag + "";
    console.log(res2);  //true

    var res3 = n + "";
    console.log(res3);  //null

    var res4 = u + "";
    console.log(res4); //undefined

注意点:若不是空串,则会字符串拼接

    var num = 123;
    var res1 = num + "aaa";
    console.log(res1);   //123aaa
    console.log(typeof res1);  //string
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第五章:我好像认识你 “主人,今天我们这样做我感觉不太好”夜笙说道 “这是我的个性,不能改变。我给你讲个故事吧!”...
    小触于心阅读 3,280评论 1 1
  • 有时是隐隐约约的疼痛,有时是彻彻底底的伤心,生活于我是太过无关痛痒的现实。有时候一个人躲在窗下屋檐下,看飘落的雨,...
    青春被忘路阅读 1,716评论 0 1
  • 我知道我总会遇到你 那个不能错过的人 你在多远的未来 我始终相信会有一个很好的人 他一定是我喜欢的样子 也无需辛苦...
    僭客阅读 3,184评论 0 5