SOURCE

// compose函数
const space = (str) => str.split(' ');
const len = (arr) => arr.length;

const compose = (...fn) => value  => {
    return fn.reduce((pre, item) =>{
        return item(pre);
    },value)
}

const computedWord = compose(space, len)
console.log(computedWord('i am linsanxin')) // 3
console.log(computedWord('i am 23 year old')) // 5
console.log(computedWord('i am a author in juejin')) // 6

// (a == 1 && a == 2 && a == 3) 有可能是 true 吗?

// 方法一
// const a = {
//     value: 0,
//     valueOf() {
//         return ++this.value;
//     }
// }
// console.log(a==1&&a==2&&a==3);

// 方法二;
// let i = 0
// Object.defineProperty(window, 'a', {  
//   get() {
//     return ++i
//   }
// })
// console.log(a == 1 && a == 2 && a == 3) // true

// 方法三
// let test = {
//     a:0
// }
// test = new Proxy(test, {
//     get(target, key) {
//         return ++target[key];
//     }
// })

// console.log(test.a == 1 && test.a == 2 && test.a == 3)

// 方法四
const a = [1, 2, 3];
console.log(a.join)
a.toString = a.shift;
console.log(a == 1 && a == 2 && a == 3) // true

let arr = [1,2,3];
console.log(new String(arr));

function c(a,b,c,x) {}
console.log(c.length);
console 命令行工具 X clear

                    
>
console