这些前端大厂面试题你会做吗?每日10题大厂面试题(九)

本文通过几个具体的JavaScript挑战题目,详细解析了箭头函数、async函数、布尔值处理、字符串填充及函数原型等相关知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题1(箭头函数返回值)

下面输出的是

const getList = ([x, ...y]) => [x, y]
const getUser = user => { name: user.name, age: user.age}
const list = [1, 2, 3, 4]
const user = {name: 'Lydia', age: 21}
console.log(getList(list))
console.log(getUser(user))

答案:[1, [2, 3, 4]] and { name: ‘Lydia’, age: 21}
这道题主要考察:

  • 箭头函数返回值。对于箭头函数,如果我们只返回一个值,我们无需使用花括号。但是如果需要返回一个对象,则必须在圆括号中返回,否则不会返回任何值

题2(async)

下面输出的是

async function getData(){
	return await Promise.resolve('I made it')}
const data = getData();
console.log(data)

答案:Promise{: “I made it"}
这道题主要考察:

  • async:getData本质上和Promise.resolve(‘I made it!’)的返回是一样的,resolve方法是立即执行的,所以返回的是一个resolved状态的promise。如果需要访问‘I made it’的值,可以用then进一步链式调用获得值

题3(false)

下面输出的是

const one = (false || {} || null)
const two = (null || false || '')
const three = ([] || 0 || true)
console.log(one, two, three)

答案:null “” false
这道题主要考察:

  • false: js中布尔值为false的六种情况是:undefined, null, 0, false, NaN, “”

题6(String.prototype.padStart)

下面输出的是

const name = 'Lydia Hallie'
console.log(name.padStart(13))
console.log(name.padStart(2))

答案: ’ Lydia Hallie’, ‘Lydia Hallie’
这道题主要考察:

  • string.prototype.padstart。向字符串前面填充字符到指定位数,如果小于字符串长度,则返回原字符串,所以第一个会往name前填充一个空格,第二个返回原name

题8(箭头函数的原型)

下面输出的是

function giveLydiaPizza() {
	return `Here is pizza!`
}
const getLydiaChocolate = () => `Here is chocolate`
console.log(giveLydiaPizza.prototype)
console.log(giveLydiaChocolate.prototype)

答案:{ constructor: …} undefined
这道题主要考察:

  • 箭头函数的原型:常规函数,有一个prototype属性,它是一个带有constructor属性 的对象(原型对象),然而箭头函数,没有这个prototype属性,尝试访问的时候会返回undefined

       小伙伴们今天的学习就到这里了,如果觉得本文对你有帮助的话,欢迎转发,评论,收藏,点赞!!!
       每天学习进步一点点,就是领先的开始。如果想继续提高,欢迎关注我,或者关注公众号”祯民讲前端“。大量前端技术文章,面试资料,技巧等助你更进一步!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值