WEB前端开发社区 昨天 从Web开发到机器学习再到应用程序开发,JavaScript拥有大量的应用程序列表。 幸运的是,JavaScript提供了可以方便使用的全面功能列表,但是,其中许多功能和hack并不流行,很少被谈论。 有了如此众多的应用程序和用例,代码的复杂性也随之增加,知道这些开发技巧的窍门肯定可以为你节省大量时间。 因此,我整理了9个没人讨论过的实用JavaScript开发技巧清单,希望对你有所帮助,我们现在开始吧。 1、快速调整大小和清空数组编程时我们经常需要更改或清空数组。执行此操作的最有效方法是使用Array.length方法。 const array = [1,2,3,4,5]; console.log(array); // 5array.length--; console.log(array); // 4array.length + = 15; console.log(array); // 19 该代码段的输出为: [1, 2, 3, 4, 5][1, 2, 3, 4][1, 2, 3, 4, ..15 empty]undefined 你还可以通过将长度设置为0来删除数组的所有元素。 let arr= ['a', 'b', 'c'];arr.length = 0;console.log(arr.length); // Ouput=> 0console.log(arr); // Output=> [] 2、有条件的快捷方式 var x=1;if(x==1){console.log(x) }else{console.log("Error") } var x=1;console.log( x==1? x: "Error"); //Output: 1 import defaultExport from "module-name";import { export1 as alias1 } from "module-name";import { export1 , export2 } from "module-name";import { export1 , export2 as alias2 , [...] } from "module-name";import defaultExport, { export1 [ , [...] ] } from "module-name";import defaultExport, * as name from "module-name"; import('some-module') . then(obj => ...). catch(err => console.log(err))
4、空位合并运算符const name = null ?? 'Anonymous';console.log(name); // Output=> 'Anonymous'const age= undefined?? 18;console.log(bar); // Output=> 18 let firstName = null; let lastName = null; let nickName = "Guest"; // shows the first truthy value: alert(firstName || lastName || nickName || "Anonymous"); //Guest 5、合并数组const array1 = ['a','b','c']; const array2 = ['a','e','f']; const array3 = array1.concat(array2);console.log(array3); //输出=>数组[“ a”,“ b”,“ c”,“ a”,“ e”,“ f”] let list1 = ['a', 'b', 'c'];let list2 = ['a', 'e', 'f'];list1.push.apply(list1, list2);console.log(list1);//Output=> Array ["a", "b", "c", "a", "e", "f"] if (var1 !== null || var1 !== undefined || var1 !=='') { var2 = var1;} var2 = var1 || 'Some value'; 7、默认参数值function calculator(principle,rate,time) {if (principle === undefined) principle = 5000;if (rate === undefined) rate = 6;if (time===undefined) time = 3; ....} function calculator(principle=5000, rate=6, time=3){ ...} 8、in 运算符const car = { make: 'Honda', model: 'Accord', year: 1998 };console.log('make' in car);// expected output: truedelete car.make;if ('make' in car === false) { car.make = 'Suzuki';}console.log(car.make);// expected output: "Suzuki" var q= "onrender" in document.createElement("div");if(q){ ...}else{ ...} function submitName(name) {if(name=== undefined) {throw new Error('Missing parameter'); }return name;} mandatory = () => {throw new Error('Missing parameter');}submitName= (name= mandatory()) => {return name;} 结论 |
|