现代JavaScript的高级概念和用法

网站建设5年前发布
36 0 0

20230306120733462a6da326e010a3af645581f354e369458a05980,JavaScript语言不断发布一些新特性,感觉要上天的节奏啊。本文搜集整理了一些它的高级概念和用法,来看看你是否都了解?代码这样写是不是更优雅了?,闭包是Javascript中的一项重要技术,内部函数始终可以访问其外部函数的变量和参数,即使在外部函数返回后也是如此。我们使用闭包来保护我们不想向外部范围公开的数据。,在上下文丢失时,this将无法被确定,可以通过函数绑定解决。,使用命名空间可以防止代码冲突。,使用in关键字可以判断对象中是否存在某个属性。,利用解构赋值表达式,可以将属性、值从对象、数组中取出,赋值给其它变量,非常方便。,使用Object.entries可以遍历对象的属性和值。,利用数组的filter、some对数组进行筛选。,利用Array.isArray,而不是typeof判断。,利用!!运算符可以将其它类型转换为Boolean类型。,可选链 ?. 是一种访问嵌套对象属性的安全的方式,可避免在对象或属性不可用时抛出异常。由于JavaScript不是类型化语言,该特性还是很有用。,合并运算符的写法为两个问号 ??,对于该运算符连接的两个参数,如果第一个参数不是 null,也不是undefined,则返回第一个参数,否则返回第二个参数。,使用...扩展语法,可以仅当某个条件成立时,才为对象添加某个属性。,以下写法让处理异步调用异常的代码变得更为简洁。,Weakmap不同于Map,它的键必须是引用对象,不能是基础类型,如果没有对该键对象引用时,该对象将被从Map和内存中移除。,Reflect是一个全局对象,它为元编程提供了一些有用的静态方法。,柯里化(Currying)是一种关于函数的高阶技术,它是指将一个函数从可调用的 f(a, b, c) 转换为可调用的 f(a)(b)(c)。柯里化不会调用函数,它只是对函数进行转换。,组合是一种技术,其中一个函数的结果被传递到下一个函数,该函数被传递到下一个函数,依此类推......直到执行最终函数并计算出一些结果。函数组合可以由任意数量的函数组成。

© 版权声明

相关文章