JavaScript 技巧:干净高效的代码写法

简介: JavaScript 技巧:干净高效的代码写法

在这篇文章中,我将分享 18 个 JavaScript 技巧,以及您应该了解的编写简洁高效代码的示例。

箭头函数
您可以使用箭头函数来简化函数声明。

function add(a, b) {
return a + b;
}
// Arrow function
const add = (a, b) => a + b;
Array.from()
Array.from() 方法可用于将任何可迭代对象转换为数组。

const str = "Hello!";
const arr = Array.from(str);
console.log(arr); //Output: ['H', 'e', 'l', 'l', 'o', '!']
使用 console.table() 显示数据
如果您希望在控制台中以表格格式组织数据,那么您可以使用 console.table() 。

const person = {
name: 'John',
age: 25,
profession: 'Programmer'
}
console.table(person);
高效地使用 const 和 let
对于不会重新分配的变量使用 const ,对于需要重新分配的变量使用 let ,以便更好地组织代码。

const PI = 3.14;
let timer = 0;
通过解构提取对象属性
通过使用解构从对象中提取属性,可以增强代码的可读性。

const person = {
name: 'John',
age: 25,
profession: 'Programmer'
}

//Instead of this
console.log(person.name);
console.log(person.age);

//Use this
const {name, age} = person;
console.log(name);
console.log(age);
使用逻辑 OR 运算符设置默认值
使用 || 运算符轻松设置默认值。

function greet(name) {
name = name || 'Person';
console.log(Hello, ${name}!);
}
greet(); //Output: Hello, Person!
greet("John"); //Output: Hello, John!
轻松清空数组
您可以使用 length 属性轻松清空数组。

let numbers = [1, 2, 3, 4];
numbers.length = 0;
console.log(numbers); //Output: []
JSON.parse()
使用 JSON.parse() 将 JSON 字符串转换为 JavaScript 对象,这确保了无缝的数据操作。

const jsonStr = '{"name": "John", "age": 25}';
const person = JSON.parse(jsonStr);
console.log(person);
//Output: {name: 'John', age: 25}
Map() 函数
使用 map() 函数转换新数组中的元素,而不修改原始数组。

const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);

console.log(numbers); //Output: [1, 2, 3, 4]
console.log(doubled); //Output: [2, 4, 6, 8]
Object.seal()
您可以使用 Object.seal() 方法来防止添加或删除对象中的属性。

const person = {
name: 'John',
age: 25
};
Object.seal(person);
person.profession = "Programmer";
console.log(person); //Output: {name: 'John', age: 25}
Object.freeze()
您可以使用 Object.freeze() 方法来阻止对对象进行任何更改,包括添加、修改或删除属性。

const person = {
name: 'John',
age: 25
};
Object.freeze(person);
person.name = "Mark";
console.log(person); //Output: {name: 'John', age: 25}
删除数组重复项
您可以使用 Set 从数组中删除重复元素。

const arrWithDuplicates = [1, 12, 2, 13, 4, 4, 13];
const arrWithoutDuplicates = [...new Set(arrWithDuplicates)];
console.log(arrWithoutDuplicates);
//Output: [1, 12, 2, 13, 4]
使用解构交换值
您可以使用解构轻松交换两个变量。

let x = 7, y = 13;
[x, y] = [y, x];
console.log(x); //13
拓展运算符
您可以使用扩展运算符有效地复制或合并数组。

const arr1 = [1, 2, 3];
const arr2 = [9, 8, 7];

const arr3 = [...arr2];
const mergedArr = [...arr1, ...arr2];

console.log(arr3); //[9, 8, 7]
console.log(mergedArr); //[1, 2, 3, 9, 8, 7]

//代码效果参考:http://www.zidongmutanji.com/zsjx/295303.html
模板插值
利用模板文字进行字符串插值并增强代码可读性。

const name = 'John';
const message = Hello, ${name}!;
三元运算符
您可以使用三元运算符简化条件语句。

const age = 20;

//Instead of this
if(age>=18){
console.log("You can drive");
}else{
console.log("You cannot drive");
}

//Use this
age >= 18 ? console.log("You can drive") : console.log("You cannot drive");
使用 === 而不是 ==
通过使用严格相等 ( === ) 而不是松散相等 ( == ) 来防止类型强制问题。

const num1 = 5;
const num2 = '5';

//Instead of using ==
if (num1 == num2) {
console.log('True');
} else {
console.log('False');
}

//Use ===
if (num1 === num2) {
console.log('True');
} else {
console.log('False');
}
使用描述性变量和函数名称
为变量和函数使用有意义且具有描述性的名称,以增强代码的可读性和可维护性。

// Don't declare variable like this
const a = 18;

// use descriptive names
const numberOfTips = 18;

相关文章
|
3月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
5月前
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
155 1
|
6月前
|
JavaScript 前端开发
怀孕b超单子在线制作,p图一键生成怀孕,JS代码装逼娱乐
模拟B超单的视觉效果,包含随机生成的胎儿图像、医疗文本信息和医院标志。请注意这仅用于前端开发学习
|
6月前
|
JavaScript
JS代码的一些常用优化写法
JS代码的一些常用优化写法
113 0
|
8月前
|
存储 JavaScript 前端开发
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
716 9
|
9月前
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
637 11
|
11月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
492 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
9月前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
315 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
9月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~