js解构赋值面试题

旧城等待, 2023-07-25 09:44 140阅读 0赞

今天一哥们问了一道面试题:
1、let {toString:x} = 666,x?原因?
现在把我的理解跟大家分享一下:
答案:x === Number.prototype.toString
原因:这是es6新增加的解构赋值,如果等号右边是数值或布尔值,会先转换为对象。说到这,各位看官会说嘚嘚了半天是一上午,等于啥也没说,哈哈,我们来继续看。
Js有一个概念叫“封装对象”,创建一个构造函数,给这个构造函数添加属性和方法。给构造函数的原型对象添加方法……。Js的原生函数可以当作构造函数来使用(都了解,不赘述)。
每当js引擎读取一个基本类型的数值的时候,后台会创建一个对应的基本类型的包装对象。例如,Js读取数值666,后台会自动生成new Number(666),我们打印一下new Number(666),如下图,一目了然,哈哈。
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,140人围观)

还没有评论,来说两句吧...

相关阅读

    相关 前端赋值

    概念 结构赋值是ES6的一种语法规则,旨在允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这种就称之为结构赋值。 从本质上讲这种写法属于“模式匹配”,只要等号两

    相关 赋值

    [ES 6 : 变量的解构赋值][ES 6 _]   1. 数组的解构赋值 \[ 基本用法 \]   按照一定的模式从数组或者对象中取值,对变量进行赋值的过程称为解

    相关 js严格模式与赋值

    严格模式 ECMAScript 5 引入严格模式('strict mode')概念。通过严格模式,在函数内部选择进行较为严格的全局或局部的错误条件检测,使用严格模式的