• 经典面试题第十二更---valueOf和toString


    前言:
        🤡 作者简介:我是Morning,计算机的打工人,想要翻身做主人 🙈 🙈 🙈
        🏠 个人主页:  Morning的主页
        📕系列专栏: 前端面试备战
        📞 如果小编的内容有欠缺或者有改进,请指正拙著。期待与大家的交流
        🔥如果感觉博主的文章还不错的话,👍点赞👍 + 👀关注👀 + 🤏收藏🤏
     

    此篇博客是属于上篇博客在最后提出的遗留问题(toPrimitive算法逻辑中的valueOf和toString介绍)。本来是想等之后再去写这篇文章的,因为对这个知识点也不是那么了解,在网上查找的资料大多也都晦涩,很乱。

    但是,不要拖延❗❗❗一起加油吧

    目录

    一.valueOf

    1.定义

    2.常用范围

    二.toString

    1.定义

    2.常用范围

    3.参数

    4.补充知识String


     

    一.valueOf

    1.定义

    JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身。通常由JavaScript内部调用,而不是在代码中显式调用。

    2.常用范围

    可以用于引用类型(对象、数组、函数),返回对象本身;

    1. console.log([1,2,3].valueOf()); //[1, 2, 3]
    2. console.log({a:1}.valueOf()); //{a: 1}
    3. console.log(function(){}.valueOf()); //ƒ (){}

    也可以用于基本类型(数值、字符串、布尔值),还是返回基本类型。

    null和undefined没有valueOf()方法                  Math 和 Error 对象没有 valueOf 方法。

    1. let value1=10
    2. let value2='susu'
    3. let value3=true
    4. let value4=null
    5. let value5
    6. console.log(value1.valueOf());//10
    7. console.log(value2.valueOf());//'susu'
    8. console.log(value3.valueOf());//true
    9. console.log(value4.valueOf());//报错
    10. console.log(value5.valueOf());//报错

    二.toString

    1.定义

    将一个值转换为字符串有两种方式,几乎所有之都有的方法toString便是其中一种。这个方法的唯一用途就i是返回当前值的字符串等价物

    1. console.log('11'.toString());//'11'
    2. console.log(true.toString());//'true'

    2.常用范围

    toString方法常用于数值、布尔值、对象、字符串(字符串也是有toString()方法的,该方法只是简单的返回自身的一个副本)。null和undefined值没有toString方法

    3.参数

    多数情况下,toString不接受任何参数。但是在对数值调用toString时可以传入一个底数参数,即用什么底数来输出数值的字符串表示 。默认情况下返回数字的十进制字符串表示,通过传入参数,可以获得二进制、八进制、十六进制等等其他任何有效基数的字符串表示

    1. let num=10
    2. console.log(num.toString());//'10'
    3. console.log(num.toString(2));//'1010'
    4. console.log(num.toString(8));//'12'
    5. console.log(num.toString(10));//'10'
    6. console.log(num.toString(16));//'a'

    4.补充知识String

    String便是另外一种转换为字符串的方式。如果你不确定一个值时不是null或者undefined。

    String遵循以下规则:

    • 如果值有toString方法,则调用toString(不传参数),并返回结果
    • 如果值时null,返回 ‘ null  ’
    • 如果是undefined,返回  ‘  undefined  ’
    1. let value1=10
    2. let value2=true
    3. let value3=null
    4. let value4
    5. console.log(String(value1));//'10'
    6. console.log(String(value2));//'true'
    7. console.log(String(value3));//'null'
    8. console.log(String(value4));//'undefined'

     这里展示了四种情况,一个数值、一个布尔值、一个null、一个undefined。

    数值和布尔值的转换结果和调用toString方法相同;

    null和undefined没有toString方法,所以String()方法就直接返回了两个值的字面量文本。

     

  • 相关阅读:
    网安学习Day14(web漏洞-SQL注入类型及提交注入)
    1.1.6 搭建Java Web开发环境
    SSE 和 WebSocket 应用
    sublime 文件编辑器使用快捷键
    【计算机视觉】24-Object Detection
    webpack如何设置兼容浏览器的范围​browserslist
    Junit单元测试之Maven项目集成Jacoco,查看覆盖率报告
    Linux学习——标准IO的读写
    cocoscreator3.X 强更 游戏内下载APK和安装APK
    JAVA 自定义注解,实现数据脱敏处理
  • 原文地址:https://blog.csdn.net/m0_72154565/article/details/133773592