分享一道简单的js面试题
发布于 7 年前 作者 Matrixbirds 3742 次浏览 来自 分享
[[++[+[]+[]][0]]+[]][0] === x

当x=什么值 这里条件返回true 并且说出原因 提示并补充: 1.为何会有隐式转换? 2.以及转换出来的东西是什么?

4 回复
[
    [
        ++[
            +[] // 0
            +[] // ''
        ][0]
    ]+[]
][0]

=

[
    [
        ++[
            0 + '' // '0'
        ][0]
    ]+[]
][0]

= 

[
    [
        ++['0'][0] // = ++('0') = 1
    ]+[]
][0]

= 

[
    [1]+[] // = 1 + '' = '1'
][0]

= ['1'][0] = '1'

我觉得面试一边要求优雅的 code style, 一边又出这种题的行为非常没品…

@ekoneko 很棒。其实是一道没啥卵用的题目就是看愿不愿意写。2333

我只能说出这个面试题的脑子有问题。

回到顶部