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

文章目录

  • 题1(箭头函数返回值)
  • 题2(async)
  • 题3(false)
  • 题6(String.prototype.padStart)
  • 题8(箭头函数的原型)

题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题大厂面试题,BAT,BAT面试,前端面试题)