首页 > 编程语言 >10个清晰实用更显专业的JavaScript代码片段

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

时间:2022-11-08 17:36:28浏览次数:39  
标签:10 片段 const log 输出 JavaScript test console data

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

英文 | https://betterprogramming.pub/10-javascript-snippets-for-cleaner-looking-code-76f6e2cf6fc4

翻译 | 小爱


我已经为所有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;        // true
const bool2 = !100; // false
const bool3 = !"test"; // false
const bool4 = !!"test"; // true
console.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);

输出:

string
1

7、将字符串转换为数字

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

输出:

number 
84

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"
}

结论

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

感谢阅读。

学习更多技能

请点击下方公众号



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

10个清晰实用更显专业的JavaScript代码片段_字符串_03

标签:10,片段,const,log,输出,JavaScript,test,console,data
From: https://blog.51cto.com/u_15809510/5833870

相关文章

  • 223201062522-软件工程基础Y- 实验一 刘晋
      沈阳航空航天大学软件工程基础实验报告实验名称:实验一实验题目:个人项目完成时间:2022年11月1实验内容及要求1.1教学内容及要求建立个人博客,完......
  • ASEMI肖特基二极管SB30100LCT图片,SB30100LCT应用
    编辑-ZASEMI肖特基二极管SB30100LCT参数:型号:SB30100LCT最大重复峰值反向电压(VRRM):100V最大平均正向整流输出电流(IF):30A峰值正向浪涌电流(IFSM):200A每个元件的典型热阻(ReJA):2.5℃/......
  • 我只是用这20个JavaScript的代码题来测试我的朋友同事,结果我被他们殴打了一顿
    英文|https://medium.com/frontend-canteen/20-useless-but-funny-challange-for-javascript-developer-9eea39bb8efb翻译| 杨小爱由于JavaScript是一种容错率极高的编......
  • 用 JavaScript 编写枚举的最有效方法
    英文|https://betterprogramming.pub/the-most-efficient-way-to-write-enumerations-in-javascript-a1b9f41ea651JavaScript语言本身不支持枚举。如果我们想模拟枚举,我......
  • javascript中数组的22种方法
    数组总共有22种方法,本文将其分为对象继承方法、数组转换方法、栈和队列方法、数组排序方法、数组拼接方法、创建子数组方法、数组删改方法、数组位置方法、数组归并方法和数......
  • 前端JavaScript 常见的报错及异常捕获与处理方法
    前言在开发中,有时,我们花了几个小时写的js代码,在浏览器调试一看,控制台一堆红,瞬间一万头奔腾而来。至此,本文主要记录js常见的一些错误类型,以及常见的报错信息,分析其报错原因......
  • 610007 CAD CAD快捷键汇总
    1、绘图快捷命令:命令简码全码直线l*line射线xl、ray*xline多线ml*mline多段线pl*pline多段线编辑pe*pedit样条曲线spl*spline......
  • Windows - win10 开放外部访问端口
    win10开放外部访问端口直接在搜索中输入“防火墙”,然后打开“防火墙高级设置”新建入站规则 选择端口,然后下一步选择连接协议,然后输入特定的端口号,然后下一步选......
  • 7种你可能不知道的JavaScript循环变体
    英文| https://betterprogramming.pub/all-javascript-loops-f6424cabfcb6翻译|web前端开发每个程序员应该都了解循环,最有可能从while循环开始,最终进入for循环,甚至递归......
  • 13个常用的​JavaScript代码片段
    JavaScript可以做很多好玩的事,从复杂的框架到处理API,有太多的东西需要学习。但是,它也能让我们只用一行就能做一些了不起的事情。1、获得一个随机的布尔值(true/false)该函数......