、js 相关

隐式类型转换

javascript 复制代码
let num1 = '10'
let num2 = 10
console.log(num1 + num2) // 1010
console.log(num1 - num2) // 0
// 尝试类型转换
console.log('1.23' == 1.23) // true 字符串和数字可以互相转换
console.log(0 == false) // true 非零数值被视为真(true)
console.log(null == undefined) // true

判断 值和类型

对象引用比较(即比较地址)

javascript 复制代码
console.log(null === null) // true
console.log(undefined === undefined) // true
console.log(NaN === NaN) // false 表示无法表示为数字的任何数值
console.log(new Object() === new Object()) // false 对象引用(即地址)并不相等
console.log({} === {}) // false 比较对象按引用而不是值

typeof

javascript 复制代码
console.log(typeof NaN) // number 历史原因和设计决策
console.log(typeof 100) // number
console.log(typeof 'str') // string
console.log(typeof false) // boolean
console.log(typeof undefined) // undefined
console.log(typeof function fn() {}) // function
console.log(typeof new Object()) // object
console.log(typeof {}) // object
console.log(typeof null) // object
console.log(typeof [1, 2]) // object

instanceof

javascript 复制代码
console.log([1, 2] instanceof Array === true) // true
console.log({} instanceof Array === true) // false
console.log(new Object() instanceof Object === true) // true
console.log({} instanceof Object === true) // true

复合函数 ~ 柯里化

箭头函数hello和happy

javascript 复制代码
const hello = name => {
    return `hello ${name}`
}
const happy = name => {
    return `${name} :`
}

柯里化函数compose高阶函数,接受两个函数作为输入,并返回一个新的函数

javascript 复制代码
const compose = (f, g) => {
    return function (x) {
        return f(g(x))
    }
}

实际上先调用happy('你好')得到了"你好 :", 然后将这个字符串传递给了hello函数

javascript 复制代码
const happyHello = compose(hello, happy)
console.log(happyHello('你好')) // hello 你好 :
相关推荐
人民广场吃泡面2 小时前
前端该重视的编程思想
前端
冬夜戏雪2 小时前
agent的trace 和eval
开发语言·前端·javascript
IT_陈寒2 小时前
Redis的DEL命令居然没删干净数据?这个坑我爬了半天
前端·人工智能·后端
kyriewen2 小时前
面试官让我现场用 AI 改一个真实 bug——他打断我的 3 个理由
前端·面试·ai编程
计算机魔术师3 小时前
斯坦福研究:AI 对入门级岗位冲击最大
前端
感谢一路走过的人3 小时前
AGGrid刷新数据后执行筛选
javascript·ag-grid
水獭比特3 小时前
工具都批准了,为什么还不能执行?给 Agent 补上第二道校验
javascript·人工智能·node.js
Simon_He4 小时前
一个渲染内核,五个框架包:我的流式 Markdown 渲染库是怎么长成“全家桶”的
前端·vue.js·markdown
小满zs4 小时前
关于HBuilderX+ 微信小程序开发工具启动的问题
前端·uni-app