当前位置: 首页 > 科技观察

只需5分钟,掌握9个风骚简洁的JavaScript技巧

时间:2023-03-13 18:12:14 科技观察

1。清除或截断一个数组通过改变数组的长度(length),我们可以清除或截断一个数组:constarr=[11,22,33,44,55,66];//truncatingarr.length=3;console.log(arr);//=>[11,22,33]//clearingarr.length=0;console.log(arr);//=>[]console.log(arr[2]);//=>未定义2。使用解构对象模拟命名函数当需要将一组变量作为参数传递给函数时,使用“配置对象”的可能性很大,如下所示:doSomething({foo:'Hello',bar:'Hey!',baz:42});functiondoSomething(config){constfoo=config.foo!==undefined?config.foo:'嗨';constbar=config.bar!==undefined?config.bar:'哟!';constbaz=config.baz!==undefined?config.baz:13;//...}在使用doSomething函数时,{foo:'Hello',bar:'Hey!',baz:42}传入的是Json作为参数,然后在函数中将Json反汇编给变量赋值。这是一种古老但有效的模式,它试图模拟JavaScript中的命名参数。这很好,但它使代码不必要地冗长。使用ES2015的对象解构,可以避免这种冗长:functiondoSomething({foo='Hi',bar='Yo!',baz=13}){//...}如果你需要在函数中做参数它成为可选参数也很简单:functiondoSomething({foo='Hi',bar='Yo!',baz=13}={}){//...}3.数组的参数结构使用《对象解构》,将内容为数组的字符串拆解,然后进行变量赋值:constcsvFileLine='1997,JohnDoe,US,john@doe.com,NewYork';const{2:country,4:state}=csvFileLine。分裂(',');数组中的第二项“US”分配给国家,第四项“纽约”分配给州。4.带有范围条件的switch语句下面是在switch语句中使用范围的简单技巧:5.多个异步函数的异步回调机制,可以通过Promise.all等待多个异步函数完成。awaitPromise.all([anAsyncCall(),thisIsAlsoAsync(),oneMore()])6.创建纯对象您可以创建不从Object类继承任何方法的100%纯对象(例如:构造函数、toString()等).7.格式化字符串的JSON代码JSON.stringify不仅可以将JSON对象转换为字符串,您还可以使用它来美化您的JSON输出:8.通过包含Spread运算符从数组中删除重复项ES2015-最新的JS,你可以轻松地从数组中删除重复项9.多维数组的降维通过Spread运算符可以很容易地降低二维数组的维数:constarr=[11,[22,33],[44,55],66];constflatArr=[].concat(...arr);//=>[11,22,33,44,55,66]不幸的是,上面的技巧只适用于二维数组。但是通过递归,我们可以对二维以上的数组进行降维:以上就是9个小技巧,希望能帮助大家写出更好更漂亮的JS代码!