、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 你好 :
相关推荐
周某人姓周3 分钟前
DOM型XSS案例
前端·安全·web安全·网络安全·xss
程序员鱼皮14 分钟前
前特斯拉 AI 总监:AI 编程最大的谎言,是 “提效”
前端·后端·ai·程序员·开发
pusheng202525 分钟前
普晟传感2026年新春年会总结与分析
前端·javascript·html
谢尔登27 分钟前
React19事件调度的设计思路
前端·javascript·react.js
Emma_Maria37 分钟前
本地项目html和jquery,访问地址报跨域解决
前端·html·jquery
奋斗吧程序媛42 分钟前
常用且好用的命令
前端·编辑器
2301_796512521 小时前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Lazyload 懒加载(懒加载的图片)
前端·javascript·react native·react.js·ecmascript·harmonyos
敲敲了个代码1 小时前
从N倍人力到1次修改:Vite Plugin Modular 如何拯救多产品前端维护困境
前端·javascript·面试·职场和发展·typescript·vite
摘星编程1 小时前
OpenHarmony环境下React Native:Timeline时间轴组件
javascript·react native·react.js
摘星编程1 小时前
在OpenHarmony上用React Native:Timeline水平时间轴
javascript·react native·react.js