LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

12 个高级 JavaScript 技巧,优化你的代码

admin
2025年1月2日 11:46 本文热度 65

JavaScript 带给了我们极大的自由,但也带来了一定的复杂性。为了让你的代码更高效、易于维护,下面认真分享 12个 JavaScript 的高级技巧和实用场景。

空值合并(??)

场景:如果变量为 null 或 undefined ,则使用默认值。

const username = user.name ?? 'Guest';
console.log(username); // 如果 user.name 为 null 或 undefined,输出‘Guest’

使用 Intl 进行格式化

场景:Intl 对象可以用于格式化货币、日期以及数字,非常适合需要进行本地化处理的场景。

const formatter = newIntl.NumberFormat('zh-CN', { style'currency'currency'CNY' });
console.log(formatter.format(1000)); // 输出:¥1,000.00

缓存函数

场景:缓存函数结果以加快重复调用速度。

const memoize = fn => {
  const cache = {};
  return(...args) => {
    const key = JSON.stringify(args);
    if (!cache[key]) cache[key] = fn(...args);
    return cache[key];
  };
};

可选链接

场景:简化字符串插值和多行字符串。

const address = user?.contact?.address?.city;
console.log(address); 

使用 Set 保存唯一值

场景:当需要存储一组不重复的值时,可以使用 Set。

const unique = newSet([1231]);
console.log(unique); // 输出:Set { 1, 2, 3 }

模板字面量

场景:插入变量,实现多行字符串。

const username = "Saurabh";
const entries = 1567;
const message = `Hello, ${username}!, Welcome to dashboard you have ${entries} left`;

默认参数

场景:为函数参数分配默认值。

function greet(name = 'Guest'{
    console.log(`Hello, ${name}!`);
}

 数组扩展运算符

场景:克隆或合并数组。

const newArray = [...array1, ...array2];

数组映射

场景:将元素转换成新数组。

const names = users.map(user => user.name);

防抖

场景:控制函数执行频率。

const debounce = (func, delay) => {
  let timeout;
  return (...args) => {
    clearTimeout(timeout);
    timeout = setTimeout(() => func(...args), delay);
  };
};

节流

场景:控制函数随时间推移的执行频率。

const throttle = (func, limit) => {
let lastFunc;
let lastRan;
return(...args) => {
    if (!lastRan) {
      func(...args);
      lastRan = Date.now();
    } else {
      clearTimeout(lastFunc);
      lastFunc = setTimeout(() => {
        if (Date.now() - lastRan >= limit) {
          func(...args);
          lastRan = Date.now();
        }
      }, limit - (Date.now() - lastRan));
    }
  };
};

Promise.all

场景:并行处理多个 promise。

const results = await Promise.all([fetchData1(), fetchData2()]);

结论

通过掌握这些高级 JavaScript 技巧,你可以在编写代码时更加高效、优雅,并能轻松解决复杂问题。无论是通过 Intl 进行数据格式化,还是使用 Set 去重和管理集合,这些实用的方法都能帮助你写出更简洁、更专业的代码。

本文首发于公众号“web前端开发之旅”,转载请注明出处!


该文章在 2025/1/3 9:12:58 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved