10个清晰实用更显专业的JavaScript代码片段

几何心凉
2022年度博客之星前端领域TOP 1
博客专家认证
2021-11-04 08:57:16
加精

我已经为所有JavaScript程序员收集了一些最酷,最有用的速记代码清单。使用这些代码清单,可以使你的代码看起来更专业。

1、单行If-Else语句

你可能熟悉这样的常规if-else语句:

if (10 < 100) {  console.log("True");} else {  console.log("False");}

输出

True

但是,你知道吗,你可以通过使用三元运算符,以更短,更简洁的方式编写上面的代码?

10 <100 ?console.log(“True”):console.log(“False”)

输出:

True

通常,三元运算符遵循以下简单模式:

condition ? trueExpression : falseExpression

三元运算符也可以链接在一起以形成更长的链。但是,它通常会使代码变得很冗长。明智地使用它们,不会使事情变得更复杂。

2、合并数组

你可以使用传播运算符(...)将一个数组的元素扩展为另一个数组,例如:

const numbers = [10, 20, 30, 40];const allNumbers = [...numbers, 50, 60, 70, 80];console.log(allNumbers);

输出:

[10, 20, 30, 40, 50, 60, 70, 80]

3、从阵列中删除重复项

const numbers = [1, 1, 20, 3, 3, 3, 9, 9];const uniqueNumbers = [...new Set(numbers)];console.log(uniqueNumbers);

输出:

[1, 20, 3, 9]

4、将任何内容转换为布尔值

除了true和false之外,JavaScript还将其他类型视为真或假。

  • 0,"",null,undefined,NaN,和false总是假 。

  • 其他一切都是真实的。

正因为如此,在JavaScript中,你可以将任何值转换为true和false与一元运算符(!):

const bool1 = !0;        // trueconst bool2 = !100;      // falseconst bool3 = !"test";   // falseconst bool4 = !!"test";  // trueconsole.log(bool1, bool2, bool3, bool4);

输出:

true false false true

5、交换两个变量而没有第三个

let x = 1;let y = 2;[x, y] = [y, x];console.log(x, y);

输出:

2 1

6、将数字转换为字符串

const num = 1 +“”;console.log(typeof num); console.log(num);

输出:

string1

7、将字符串转换为数字

const numStr = "124";const num = +numStr;console.log(typeof num);console.log(num);

输出:

number 124

8、将变量嵌入到字符串

通过使用反引号(`)将字符串括起来并将变量插入之间,将变量整齐地嵌入到字符串之间${}:

const age = 41;const sentence = `I'm ${age} years old`;console.log(sentence);

输出:

I'm 41 years old

9、将字符串拆分为数组

要将字符串拆分为数组,可以使用扩展运算符(...):

const str = "Test"const strAsArr = [...str]console.log(strAsArr)

输出:

["T", "e", "s", "t"]

10、可选链接

“可选的链接运算符(?.)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。” — MDN Web文档

假设你有一个data对象,并且想要安全地访问data.test.value。首先,你需要检查:

  • data 是否被定义。

  • data.test 是否被定义。

在data.test.value,你可以调用之前,因为,你显然无法读取undefined属性。

const data = {test:{value:1}}if(data && data.test){   console.log(data.test.value); }

输出:

1

幸运的是,使用可选链接的方法,你可以简单明了地编写上面的代码:

const value = data?.test?.value;console.log(value)

输出:

1

现在,你还可以安全地尝试访问不存在的属性,而不会出现问题:

console.log(data?.this?.does?.not?.exist?.for?.sure)

输出:

undefined

加餐:提高JSON的可读性

我确定你以前用过JSON.stringify()。但是,你可能不使用它的一种方法是对JSON数据进行整齐缩进。

让我们看看如何完成此任务。该JSON.stringify()方法接受两个可选参数:

  • 替换功能,用于过滤显示的JSON。在这种情况下,可以是null,因为我们不需要它。

    • 一个空格值,可以是所需空格的数目或字符串。在这种情况下,让我们使用制表符('\t')缩进JSON对象以使其看起来不错:

const readableJSON = JSON.stringify({ a: 'A', b: 'B' }, null, '\t');console.log(readableJSON);

输出:

{      "a": "A",      "b": "B"}

结论

我希望,我今天分享的这些技巧对你有用。如你还有什么问题,你可以在留言区与我一起分享探讨,同时,你如果还有其他好的方法,你也可以分享出来,一起学习进步。

感谢阅读。

作者:web前端开发https://blog.csdn.net/snsHL9db69ccu1aIKl9r/article/details/115774671

...全文
375 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

303,856

社区成员

发帖
与我相关
我的任务
社区描述
欢迎加入几何心凉的前端社区,本社区活动丰富可以拿到众多周边礼物,本社区还对接Vue技能树可以更加系统的进行学习,还为大家定期举办博主成长计划,助您赢在CSDN同时带您遨游在前端技术的海洋中!!
前端学习经验分享 个人社区 北京·丰台区
社区管理员
  • 几何心凉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

诚挚的邀请大家加入几何心凉社区,在这里您可以结实挚友、提升技术、分享经验、成就自己

  • 【社区活动】本社区受官方长期扶持,您可以通过活动打造个人IP,让更多的人受益于您的分享,同时我们还会奉上精美周边;
  • 【赢在CSDN】社区会对社区成员开设博主扶持计划,集结优质博主分享成长经验,更是疑问在线解答,定期直播连麦,只要您是本社区成员皆可免费享受此权益,让我们携手共进助您速获万粉头衔;
  • 【Vue技能树】本社区创建人同时作为Vue技能树构建者,可为本社区开设技能树投稿通道,获得此权益后我们的高质量的文章被技能树收录获得更多曝光机会;
  • 【简历/就业指导】本社区创建者目前兼职高校就业指导,如果您是学生准备找工作或者您是职场人在应聘中遇到任何问题都可以在这里寻求帮助,我们会定期开设简历审查、面试技巧等就业方面的直播讲解;
  • 【技术交流】任何语言任何方向的技术文章我们都可以汇聚于此,大家可以摸鱼时间可以来此处提升自己,遨游在技术的海洋中;
  • 【立码吐槽】不管你是学生还是打工人,相信在生活中肯定有不断的新鲜事发生,这些事情可以是令你高兴的(比如今天过生日)可以是伤心的(比如我们丢了一个发卡)当然还会有很多,不满、发泄、求安慰等等,那么你可以在这个专栏中做出分享,求一句生日快乐、上岸顺利、加油老铁等等暖心的话;相信我们社区的伙伴看到后一定会速来吐槽;
  • 【bug记录】开发中的坑、学习中的雷,我们皆可投递于此,让更多的人借着分享精准避免从而高效开发;
  • 【更多】更多专栏正在筹备中。。。如果您是社区成员、如果您想为社区建设贡献力量,可以私聊社区管理员;

试试用AI创作助手写篇文章吧