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