常用简洁的 JS 代码片段

20个简洁的 JS 代码片段 20个简洁的 JS 代码片段 1、单行 If-Else 语句 这是许多编程语言的共同特征。你可以使用三元运算符用一行代码编写整个语句,而不是在多行上编写 if-else。 例如: const age = 12; let ageGroup; // LONG FORM if (age > 18) { ageGroup = "An adult"; } else { ageGroup = "A child"; } // SHORTHAND ageGroup = age > 18 ? "An 阅读详情

推荐阅读

1、单行 If-Else 语句

这是许多编程语言的共同特征。你可以使用三元运算符用一行代码编写整个语句,而不是在多行上编写 if-else。

const age = 12;
let ageGroup;


// 常用写法
if (age > 18) {
  ageGroup = "An adult";
} else {
  ageGroup = "A child";
}


// 简写
ageGroup = age > 18 ? "An adult" : "A child";

但是,不要过度使用它。它会使你的代码更加冗长。明智的做法是仅用此替换简单的表达式以提高可读性并减少代码行数。

2、从数组中删除重复项

在 JavaScript 中,Set 是一个集合,它允许你仅存储唯一值。这意味着删除任何重复的值。

因此,要从数组中删除重复项,你可以将其转换为集合,然后再转换回数组。

const numbers = [1, 1, 20, 3, 3, 3, 9, 9];
const uniqueNumbers = [...new Set(numbers)]; // -> [1, 20, 3, 9]

解释一下它是如何工作的:

1)、new Set(numbers)从数字列表中创建一个集合。创建集合会自动删除所有重复值。

2)、展开运算符…将任何可迭代对象转换为数组。这意味着将集合转换回数组。[…new Set(numbers)]

3、 较短的 If-Else 的空值合并运算符 ??

这也是 if-else 的简写。
空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。

与逻辑或操作符(||)不同,逻辑或操作符会在左侧操作数为假值时返回右侧操作数。也就是说,如果使用 || 来为某些变量设置默认值,可能会遇到意料之外的行为。比如为假值(例如,‘’ 或 0)时。见下面的例子。

const nullValue = null;
const emptyText = ""; // 空字符串,是一个假值,Boolean("") === false
const someNumber = 42;

const valA = nullValue ?? "valA 的默认值";
const valB = emptyText ?? "valB 的默认值";
const valC = someNumber ?? 0;

console.log(valA); // "valA 的默认值"
console.log(valB); // ""(空字符串虽然是假值,但不是 null 或者 undefined)
console.log(valC); // 42
3、 防止崩溃的可选链操作符 ?.

可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。

当尝试访问可能不存在的对象属性时,可选链操作符将会使表达式更短、更简明。在探索一个对象的内容时,如果不能确定哪些属性必定存在,可选链操作符也是很有帮助的。

如果访问未定义的属性,则会产生错误。这就是可选链的用武之地。
在未定义属性时使用可选链运算符,undefined将返回而不是错误。这可以防止你的代码崩溃。

const adventurer = {
  name: 'Alice',
  cat: {
    name: 'Dinah'
  }
};

const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined

console.log(adventurer.someNonExistentMethod?.());
// expected output: undefined

空值合并操作符可以在使用可选链时设置一个默认值:

let customer = {
  name: "Carl",
  details: { age: 82 }
};
let customerCity = customer?.city ?? "暗之城";
console.log(customerCity); // “暗之城”
20个简洁的 JS 代码片段,web前端入门开发 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】长,而且极易碰到天花板技术停滞不前!**因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-mZGnHrhy-1710584704897)][外链图片转存中…(img-OjkyyWJJ-1710584704897)][外链图片转存中…(img-32nUVEwo-1710584704898)] 阅读详情

相关推荐

JS常用代码片段-127个常用罗列-值得收藏

1、all 如果数组所有元素满足函数条件,则返回true。调用时,如果省略第二个参数,则默认传递布尔值。 const all = (arr, fn = Boolean) => arr.every(fn); all([4, 2, 3], x => x > 1); // true all([1, 2, 3]); // true 2、allEqual 判断数组中的元素是否都相等 const allEqual = arr => arr.every(val => val

JackieDYH的博客 2021

js中的if条件的简写总结

判断对象是否存在,if(obj) 相当于 if(obj!==undefined && obj!==null) 的简写

qq_21379779的博客 5498

Miniconda入门:在CentOS上的安装、基本操作、目录结构、卸载

Miniconda是一个 免费的 轻量级的 conda安装程序 它只包含conda、Python、pip、zlib等基础的文件和依赖包 使用conda install命令可从Anaconda存储库中安装额外的conda包 简介 下载 安装 基本操作 虚拟环境的操作 包的操作 目录结构 卸载

ArYe 1万+

if语句简写_缩写JavaScript If语句

if语句简写 The JavaScript if statement performs an action based on a condition, a common scenario in all programming languages.The if statement tests a bit of data against a condition, and then specifies ...

cumao2792的博客 4062

国内优秀MES开源框架

一套springboot 开源框架 代码标准规范化。 界面展示 演示地址 http://wangziyangmes.pzzd.xyz 用户名admin 密码123 系统管理 工艺管理 计划管理 物料管理 *用户管理* *工艺路线管理* 工单下达...

q707231019的博客 2万+

基于PLC智能立体车库控制系统设计

摘要 本系统设计以三层立体车库为研究对象,通过对立体车库的原理分析、动作流程设计和一系列的软硬件设计,达到立体车库自动化控制的目的。系统采用可编程控制器作为立体车库控制系统的控制单元,实现该系统的工艺要求,通过程序仿真调试,完成系统的各种动作要求,达到自动控制的目的。系统设计分为总体设计、硬件设计以及软件设计。按照立体车库控制系统的控制策略进行图纸设计;重点分析工艺流程图,对立体车库控制系统进行程序编译和MCGS上位机调试,通过系统的调试和修改,达到了基本控制的要求。系统设计明确了工艺要求,确定

DX884164131的博客 3600

【JS基础】16 个优雅的 JavaScript 简写技巧

19 个优雅的 JavaScript 简写技巧 三元操作符 当想写if…else语句时,使用三元操作符来代替 const x = 20; let answer; if(x > 10) { answer = 'is greater'; } else { answer = 'is lesser'; } 简写:const answer = x > 10 ? 'is greater' : 'is lesser' ...

Milk~每天分享一点点,技术进步一点点 1013

微软登录OAuth 2.0授权流程

OAuth 2.0是一个关于授权的开放网络标准,它允许第三方应用获取用户数据,是目前最流行的授权机制。微软身份平台支持OAuth 2.0授权码流程,使得客户端应用程序能够获得对受保护资源(如网络API)的授权访问。这一流程在保障用户数据安全的前提下,实现了应用的便捷登录与数据共享。当用户在一个支持OAuth 2.0的应用上,希望使用微软账号进行登录时,OAuth 2.0授权流程即被触发。

qq_36569837的博客 4091

js中if判断

js中if判断

Da_Xiong的博客 4442

【雕爷学编程】Arduino动手做(111)---震动提醒模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

雕爷学编程 1898

SAP ATP可用性检查简介

系统中建立此单时,SAP就会做一个所谓的检查,检查一下我们预先设定的考虑因素,能否满足客户的要求,什么时候可以满足,这就是可用性检查的功能。2、同样的在创建生产订单的时候也有ATP的检查,生产订单是100PC,要求2024-07-01生产完成,系统就会根据配置进行物料的可用性的检查,看物料是否能够满足生产同时能够满足交期。14: 表示相关预留的选项,与10的区别在于,10是一般是表示我们用MB21建立的,而14是表示由于相关预留,即此预留是来自于其他物料,如生产订单所产生的预留。

我小时候很黑的博客 3380

你知道那些短小却令人惊叹的 JavaScript 代码吗?_js代码五行四列怎么写

很多情况下,单层 for 循环并不能满足我们的需求,比如我们要打印一个 5 行 5 列的图形、打印一个倒直角三角形等,此时就可以通过循环嵌套来实现。循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for 循环,这样的 for 循环语句我们称之为双重for循环。

2501_90433086的博客 875

PCL 循环体素滤波

本文提出了一种自动循环体素滤波算法,用于解决点云配准中分辨率差异大、参数设置复杂的问题。算法通过计算点云分辨率(公式1),采用迭代方式调整体素尺寸(公式2),逐步逼近目标分辨率。该方法在保留几何特征的同时有效精简数据量,实现了均匀分辨率的自动调整。实验通过PCL库实现,展示了原始点云与滤波结果的对比效果,验证了算法在减少数据规模方面的有效性。该方法为点云配准提供了预处理解决方案,相关成果已发表于SCI期刊。

点云侠的博客 282

有哪些短小却令人惊叹的 JavaScript 代码?

33个非常实用的JavaScript,建议收藏!使用到了一些API,简化了操作。该方法用于检测给出的日期是否有效: 2. 计算两个日期之间的间隔 该方法用于计算两个日期之间的间隔时间: 距离过年还有90天~该方法用于检测给出的日期位于今年的第几天: 2021年已经过去300多天了~该方法可以用于将时间转化为hour:minutes:seconds的格式: 二、字符串处理 1. 字符串首字母大写 该方法用于将英文字符串的首字母大写处理: 2. 翻转字符串 该方法用于将一个字符串进行

snow_living的博客 129

Xilinx FPGA平台GTX简易使用教程(四)GTX IP核配置教程

干货来了,GTX IP核配置,搬砖全靠它~~

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

JS 近20个简洁的代码片段

目录1、单行 If-Else 语句2、从数组中删除重复项3、 较短的 If-Else 的空合并4、防止崩溃的可选链5、在没有第三个变量的情况下交换两个变量6、将任何值转换为布尔值7、扩展运算符8、传播解构9、 使用 && 进行短路评估10、类固醇的字符串11、 从数组中查找特定元素12、对象属性赋值13、压缩 For 循环14、 默认功能参数15、将对象的值收集到数组中16、检查一个项目是否存在于数组中17、压缩多个条件18、 指数运算符19、 Math.floor() 简写 原文链接1 1

姚鑫国的博客 281

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

127个常用的JS代码片段,每段代码花30秒就能看懂(一)

JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript。”FreeCodeCamp的创始人 Quincy Larson 在...

前端达人 4132

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

127个常用的JS代码片段,每段代码花30秒就能看懂(三)

大家好,在前两篇文章里 127个常用的JS代码片段,每段代码花30秒就能看懂(一)和 127个常用的JS代码片段,每段代码花30秒就能看懂(二),我分享了前42段代码,今天我继续分享第三...

前端达人 4493

15个简洁的JS代码片段

15个简洁的JS代码片段1.单行If-Else语句2.从数组删除重复项3.较短的If-Else的空合并4. 防止崩溃链的可选链5.在没有第三个变量的情况下交换两个变量6.将任何值转换成布尔值7.扩展运算符8.传播解构9.使用&&进行短路评估10. 类固醇的字符串11.从数组中查找特定元素12.压缩for循环13.将对象的值收集到数组中14.检查一个项目是否存在于数组中15.解构语法详解 1.单行If-Else语句 使用三元运算符用一行代码编写整个语句 const age=18 let age

qq_33828816的博客 831

JavaScript 优化小技巧 简洁的 JS 代码片段

一 if多条件判断 // 冗余 if (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') {} // 简洁 if (['abc', 'def', 'ghi', 'jkl'].includes(x)) {} 二 if…else… // 冗余 let test: boolean; if (x > 100) { test = true; } else { test = false; } // 简洁 let t.

Lenny-zlp的博客 289

常用的 js 代码片段

将秒数转换为 HH: MM: SS 格式的字符串。它通过给定的秒数加上时间戳起始点来创建一个新的 Date 对象,然后将其转换为 ISO 字符串,并提取时间部分得到结果。位运算符 (>>>) 确保了即使未找到点号 (.) ,操作也是安全的,因为在这种情况下仍然会返回一个空字符串。方法从一个元素的 class 列表中添加或移除某个 class。存在则删除,不存在则添加。函数调用可作为计算属性吗?

JackZhouMine 656

工作中7 个常用的 JS 代码片段

日常开发中,我们经常会用到很多通用的 JS 代码,比如:复制内容、从 URL 中获取指定参数 等这些代码通常有固定实现,即:代码片段。所以,为了方便大家的开发,今天咱们就来看看常用的 7 种代码片段。

617

js 字符串转blob_前端84个常用的JS代码片段,方便你学习和使用

来源 | https://medium.com/JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript。”FreeCodeCamp的创始人 Quincy Larson 再最近的一次采访中被问到哪种语言开发人员应该首先学习。他回答:“ JavaScript。”:“软件正在吞噬世界,JavaScript正在吞噬软件。JavaScript每...

weixin_36128239的博客 4144
上一篇: vue 动态添加条件或表头
下一篇: vite项目启动报错【 Cannot find module ‘unplugin-vue-components/vite 】
昨夜太平长安888
博客等级 码龄9年 1万+粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值