广告
返回顶部
首页 > 资讯 > 前端开发 > html >20个常用的JavaScript简写技巧是怎样的
  • 181
分享到

20个常用的JavaScript简写技巧是怎样的

2024-04-02 19:04:59 181人浏览 泡泡鱼
摘要

这篇文章给大家介绍20个常用的javascript简写技巧是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。任何编程语言的简写技巧都能够帮助你编写更简练的代码,让你用更少的代码实现

这篇文章给大家介绍20个常用的javascript简写技巧是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

任何编程语言的简写技巧都能够帮助你编写更简练的代码,让你用更少的代码实现你的目标。

1. 声明变量

//Longhand let x; let y = 20; //Shorthand let x, y = 20;

2. 给多个变量赋值

我们可以使用数组解构来在一行中给多个变量赋值。

//Longhand let a, b, c; a = 5; b = 8; c = 12;  //Shorthand let [a, b, c] = [5, 8, 12];

3. 三元运算符

我们可以使用三元(条件)运算符在这里节省 5 行代码。

//Longhand let marks = 26; let result; if(marks >= 30){  result = 'Pass'; }else{  result = 'Fail'; } //Shorthand let result = marks >= 30 ? 'Pass' : 'Fail';

4. 赋默认值

我们可以使用 OR(||) 短路运算来给一个变量赋默认值,如果预期值不正确的情况下。

//Longhand let imagePath; let path = getImagePath(); if(path !== null && path !== undefined && path !== '') {   imagePath = path; } else {   imagePath = 'default.jpg'; } //Shorthand let imagePath = getImagePath() || 'default.jpg';

5. 与 (&&) 短路运算

如果你只有当某个变量为 true 时调用一个函数,那么你可以使用与 (&&)短路形式书写。

//Longhand if (isLoggedin) {  GoToHomepage(); } //Shorthand isLoggedin && goToHomepage();

当你在 React 中想要有条件地渲染某个组件时,这个与 (&&)短路写法比较有用。例如:

<div> { this.state.isLoading && <Loading /> } </div>

6. 交换两个变量

为了交换两个变量,我们通常使用第三个变量。我们可以使用数组解构赋值来交换两个变量。

let x = 'Hello', y = 55; //Longhand const temp = x; x = y; y = temp; //Shorthand [x, y] = [y, x];

7. 箭头函数

//Longhand function add(num1, num2) {    return num1 + num2; } //Shorthand const add = (num1, num2) => num1 + num2;

参考:JavaScript Arrow function

https://jscurious.com/javascript-arrow-function/

8. 模板字符串

我们一般使用 + 运算符来连接字符串变量。使用 es6 的模板字符串,我们可以用一种更简单的方法实现这一点。

//Longhand console.log('You got a missed call from ' + number + ' at ' + time); //Shorthand console.log(`You got a missed call from ${number} at ${time}`);

9. 多行字符串

对于多行字符串,我们一般使用 + 运算符以及一个新行转义字符(\n)。我们可以使用 (`) 以一种更简单的方式实现。

//Longhand console.log('JavaScript, often abbreviated as JS, is a\n' + 'programming language that confORMs to the \n' + 'ECMAScript specification. JavaScript is high-level,\n' + 'often just-in-time compiled, and multi-paradigm.' ); //Shorthand console.log(`JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm.`);

10. 多条件检查

对于多个值匹配,我们可以将所有的值放到数组中,然后使用indexOf()或includes()方法。

//Longhand if (value === 1 || value === 'one' || value === 2 || value === 'two') {      // Execute some code } // Shorthand 1 if ([1, 'one', 2, 'two'].indexOf(value) >= 0) {     // Execute some code } // Shorthand 2 if ([1, 'one', 2, 'two'].includes(value)) {     // Execute some code }

11. 对象属性复制

如果变量名和对象的属性名相同,那么我们只需要在对象语句中声明变量名,而不是同时声明键和值。JavaScript  会自动将键作为变量的名,将值作为变量的值。

let firstname = 'Amitav'; let lastname = 'Mishra'; //Longhand let obj = {firstname: firstname, lastname: lastname}; //Shorthand let obj = {firstname, lastname};

12. 字符串转成数字

有一些内置的方法,例如parseInt和parseFloat可以用来将字符串转为数字。我们还可以简单地在字符串前提供一个一元运算符 (+)  来实现这一点。

//Longhand let total = parseInt('453'); let average = parseFloat('42.6'); //Shorthand let total = +'453'; let average = +'42.6';

13. 重复一个字符串多次为了重复一个字符串 N 次,你可以使用for循环。但是使用repeat()方法,我们可以一行代码就搞定。

//Longhand let str = ''; for(let i = 0; i < 5; i ++) {   str += 'Hello '; } console.log(str); // Hello Hello Hello Hello Hello // Shorthand 'Hello '.repeat(5);提示: 想要给某人发 100 遍“sorry”来道歉吗?用 repeat() 方法试试吧。如果你想要每次在新的一行重复字符串,可以在字符串后面加一个 \n 。 'sorry\n'.repeat(100);

14. 指数幂

我们可以使用Math.pow()方法来得到一个数字的幂。有一种更短的语法来实现,即双星号 (**)。

//Longhand const power = Math.pow(4, 3); // 64 // Shorthand const power = 4**3; // 64

15. 双非位运算符 (~~)

双非位运算符是Math.floor()方法的缩写。

//Longhand const floor = Math.floor(6.8); // 6 // Shorthand const floor = ~~6.8; // 6

来自 Caleb 的评论的改进: 双非位运算符只对 32 位整数有效,例如 (2**31)-1 = 2147483647。所以对于任何大于  2147483647 的数字,双非位运算符 (~~) 都会给出错误的结果,这种情况下推荐使用 Math.floor() 方法。

16. 找出数组中的最大和最小数字

我们可以使用 for 循环来遍历数组中的每一个值,然后找出最大或最小值。我们还可以使用 Array.reduce()  方法来找出数组中的最大和最小数字。

但是使用扩展符号,我们一行就可以实现。

// Shorthand const arr = [2, 8, 15, 4]; Math.max(...arr); // 15 Math.min(...arr); // 2

17. For 循环

为了遍历一个数组,我们一般使用传统的for循环。我们可以使用for...of来遍历数组。为了获取每个值的索引,我们可以使用for...in循环。

let arr = [10, 20, 30, 40]; //Longhand for (let i = 0; i < arr.length; i++) {   console.log(arr[i]); } //Shorthand //for of loop for (const val of arr) {   console.log(val); } //for in loop for (const index in arr) {   console.log(arr[index]); }

我们还可以使用for...in循环来遍历对象属性。

let obj = {x: 20, y: 50}; for (const key in obj) {   console.log(obj[key]); }

参考:JavaScript 中遍历对象和数组的不同方法

Https://jscurious.com/different-ways-to-iterate-through-objects-and-arrays-in-javascript/

18. 合并数组

let arr1 = [20, 30]; //Longhand let arr2 = arr1.concat([60, 80]); // [20, 30, 60, 80] //Shorthand let arr2 = [...arr1, 60, 80]; // [20, 30, 60, 80]

19. 深拷贝多级对象

为了深拷贝一个多级对象,我们要遍历每一个属性并检查当前属性是否包含一个对象。如果当前属性包含一个对象,然后要将当前属性值作为参数递归调用相同的方法(例如,嵌套的对象)。

我们可以使用JSON.stringify()和JSON.parse(),如果我们的对象不包含函数、undefined、NaN 或日期值的话。

如果有一个单级对象,例如没有嵌套的对象,那么我们也可以使用扩展符来实现深拷贝。

let obj = {x: 20, y: {z: 30}}; //Longhand const makeDeepClone = (obj) => {   let newObject = {};   Object.keys(obj).map(key => {     if(typeof obj[key] === 'object'){       newObject[key] = makeDeepClone(obj[key]);     } else {       newObject[key] = obj[key];     }   });  return newObject; } const cloneObj = makeDeepClone(obj); //Shorthand const cloneObj = JSON.parse(JSON.stringify(obj)); //Shorthand for single level object let obj = {x: 20, y: 'hello'}; const cloneObj = {...obj};

来自评论的改进:如果你的对象包含 function, undefined or NaN  值的话,JSON.parse(JSON.stringify(obj)) 就不会有效。因为当你 JSON.stringify 对象的时候,包含 function,  undefined or NaN  值的属性会从对象中移除。因此,当你的对象只包含字符串和数字值时,可以使用JSON.parse(JSON.stringify(obj))。

参考:JSON.parse() 和 JSON.stringify()

https://jscurious.com/difference-between-json-parse-and-json-stringify/

20. 获取字符串中的字符

let str = 'jscurious.com'; //Longhand str.charAt(2); // c //Shorthand str[2]; // c

关于20个常用的JavaScript简写技巧是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 20个常用的JavaScript简写技巧是怎样的

本文链接: https://www.lsjlt.com/news/82223.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 20个常用的JavaScript简写技巧是怎样的
    这篇文章给大家介绍20个常用的JavaScript简写技巧是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。任何编程语言的简写技巧都能够帮助你编写更简练的代码,让你用更少的代码实现...
    99+
    2022-10-19
  • JavaScript数组精简技巧是怎样的
    本篇文章给大家分享的是有关JavaScript数组精简技巧是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。数组是 JS 最常见的一种数据...
    99+
    2022-10-19
  • 【宝藏系列】20个常用的Python技巧
    【宝藏系列】20个常用的Python技巧 ...
    99+
    2023-08-31
    python windows 开发语言
  • 9个好用的JavaScript小技巧是怎样的
    9个好用的JavaScript小技巧是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。黑客的方法论是一种涉及...
    99+
    2022-10-19
  • 8个写JavaScript代码小技巧是什么样的
    本篇文章为大家展示了8个写JavaScript代码小技巧是什么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在编码时还需要保持代码整洁,平时注意积累在编码时所使...
    99+
    2022-10-19
  • 你需要掌握的20个Python常用技巧
    目录1.字符串反转2.每个单词的第一个字母大写3.字符串查找唯一元素4.重复打印字符串和列表n次5.列表生成6.变量交换7.字符串拆分为子字符串列表8.多个字符串组合为一个字符串9....
    99+
    2022-11-13
  • JavaScript里最常用的十种代码简写技巧是什么
    这篇文章主要介绍“JavaScript里最常用的十种代码简写技巧是什么”,在日常操作中,相信很多人在JavaScript里最常用的十种代码简写技巧是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaS...
    99+
    2023-06-25
  • 10个超级实用的Javascript 技巧是怎么样的
    这期内容当中小编将会给大家带来有关10个超级实用的Javascript 技巧是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。众所周知,JavaScript 一直在...
    99+
    2022-10-19
  • JavaScript中最常用的代码简写技巧有哪些
    这篇文章给大家分享的是有关JavaScript中最常用的代码简写技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、三元操作符当想写if…else语句时,使用三元操作符来...
    99+
    2022-10-19
  • 总结分享10个超棒的JavaScript简写技巧
    目录1.合并数组2.合并数组(在开头位置)3.克隆数组4.解构赋值5.模板字面量6.For循环7.箭头函数8.在数组中查找对象9.将字符串转换为整数10.短路求值补充几点编码习惯1....
    99+
    2022-11-13
  • JavaScript速记技巧是怎样的
    JavaScript速记技巧是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。无论是哪个编程语言的速记技巧,都有助于你编写更好、更清晰的代...
    99+
    2022-10-19
  • Python编写技巧是怎么样的
    这篇文章将为大家详细讲解有关Python编写技巧是怎么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python在编程领域的占有率一直处于稳步上升之中,根据***的数据,Python排名...
    99+
    2023-06-17
  • 怎样用JavaScript编写一个简单的游戏
    这篇文章将为大家详细讲解有关怎样用JavaScript编写一个简单的游戏,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。通过使用一个简单的游戏来练习一些基本的...
    99+
    2022-10-19
  • 4个隐藏的有用的JavaScript技巧分别是怎样的
    这篇文章将为大家详细讲解有关4个隐藏的有用的JavaScript技巧分别是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。这里有4个关于JavaScri...
    99+
    2022-10-19
  • 10个很棒的 JavaScript 字符串技巧是怎样的
    10个很棒的 JavaScript 字符串技巧是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们称一个字符序列为字符串。这几乎是所有编...
    99+
    2022-10-19
  • 9个极其强大的JavaScript技巧分别是怎样的
    这篇文章将为大家详细讲解有关9个极其强大的JavaScript技巧分别是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。所谓 hacker 方法,就是一...
    99+
    2022-10-19
  • Android开发组件flutter的20个常用技巧示例总结
    目录 1.map遍历快速实现边距,文字自适应改变大小2.使用SafeArea 添加边距3.布局思路4.获取当前屏幕的大小5.文本溢出显示省略号6.一个圆角带搜索icon的搜...
    99+
    2022-11-13
  • CSS的12个高级技巧是怎样的
    CSS的12个高级技巧是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 1、使用 :not() 在菜单上...
    99+
    2022-10-19
  • 在JavaScript 中14个拷贝数组的技巧分别是怎样的
    在JavaScript 中14个拷贝数组的技巧分别是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。数组拷贝经常被误解,但这并不是因为拷贝...
    99+
    2022-10-19
  • JavaScript中常用的简洁高级技巧有哪些
    这篇文章主要为大家展示了“JavaScript中常用的简洁高级技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中常用的简洁高级技巧有...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作