广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >JavaScript简写优化技术有哪些
  • 398
分享到

JavaScript简写优化技术有哪些

2024-04-02 19:04:59 398人浏览 薄情痞子
摘要

javascript简写优化技术有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开发者的生活总是在学习新的东西,跟上变化不应该比现在更

javascript简写优化技术有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

开发者的生活总是在学习新的东西,跟上变化不应该比现在更难,我的动机是介绍所有JavaScript的最佳实践,比如简写功能,作为一个前端开发者,我们必须知道,让我们的生活在2021年变得更轻松。

你可能做了很长时间的JavaScript开发,但有时你可能没有更新最新的特性,这些特性可以解决你的问题,而不需要做或编写一些额外的代码。这些技术可以帮助您编写干净和优化的JavaScript代码。此外,这些主题可以帮助你为2021年的JavaScript面试做准备。

1.如果有多个条件

我们可以在数组中存储多个值,并且可以使用数组 include 方法。

//Longhand if (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') {   //logic }  //Shorthand if (['abc', 'def', 'ghi', 'jkl'].includes(x)) {   //logic }

2.如果为真…否则简写

这对于我们有 if-else 条件,里面不包含更大的逻辑时,是一个较大的捷径。我们可以简单的使用三元运算符来实现这个简写。

// Longhand let test: boolean; if (x > 100) {   test = true; } else {   test = false; }  // Shorthand let test = (x > 10) ? true : false; //or we can use directly let test = x > 10; console.log(test);

当我们有嵌套条件时,我们可以采用这种方式。

let x = 300, test2 = (x > 100) ? 'greater 100' : (x < 50) ? 'less 50' : 'between 50 and 100'; console.log(test2); // "greater than 100"

3.声明变量

当我们要声明两个具有共同值或共同类型的变量时,可以使用此简写形式。

//Longhand  let test1; let test2 = 1;  //Shorthand  let test1, test2 = 1;

4.Null, Undefined,空检查

当我们创建新的变量时,有时我们想检查我们引用的变量的值是否为空或undefined。JavaScript确实有一个非常好的简写工具来实现这些功能。

// Longhand if (test1 !== null || test1 !== undefined || test1 !== '') {     let test2 = test1; }  // Shorthand let test2 = test1 || '';

5.null值检查和分配默认值

let test1 = null,     test2 = test1 || '';  console.log("null check", test2); // output will be ""

6.undefined值检查和分配默认值

let test1 = undefined,     test2 = test1 || '';  console.log("undefined check", test2); // output will be ""

正常值检查

let test1 = 'test',     test2 = test1 || '';  console.log(test2); // output: 'test'

7.将值分配给多个变量

当我们处理多个变量并希望将不同的值分配给不同的变量时,此简写技术非常有用。

//Longhand  let test1, test2, test3; test1 = 1; test2 = 2; test3 = 3;  //Shorthand  let [test1, test2, test3] = [1, 2, 3];

8.赋值运算符简写

我们在编程中处理很多算术运算符,这是将运算符分配给JavaScript变量的有用技术之一。

// Longhand test1 = test1 + 1; test2 = test2 - 1; test3 = test3 * 20;  // Shorthand test1++; test2--; test3 *= 20;

9.如果存在简写

这是我们大家都在使用的常用简写之一,但仍然值得一提。

// Longhand if (test1 === true) or if (test1 !== "") or if (test1 !== null)  // Shorthand //it will check empty string,null and undefined too if (test1)

注意:如果test1有任何值,它将在if循环后进入逻辑,该运算符主要用于 null 或 undefined 的检查。

10.多个条件的AND(&&)运算符

如果仅在变量为 true 的情况下才调用函数,则可以使用 && 运算符。

//Longhand  if (test1) {  callMethod();  }   //Shorthand  test1 && callMethod();

11.foreach循环简写

这是迭代的常用简写技术之一。

// Longhand for (var i = 0; i < testData.length; i++)  // Shorthand for (let i in testData) or  for (let i of testData)

每个变量的数组

function testData(element, index, array) {   console.log('test[' + index + '] = ' + element); }  [11, 24, 32].forEach(testData); // logs: test[0] = 11, test[1] = 24, test[2] = 32

12.return中比较

我们也可以在return语句中使用比较。它将避免我们的5行代码,并将它们减少到1行。

// Longhand let test; function checkReturn() {   if (!(test === undefined)) {     return test;   } else {     return callMe('test');   } } var data = checkReturn(); console.log(data); //output test function callMe(val) {     console.log(val); }  // Shorthand function checkReturn() {     return test || callMe('test'); }

13.箭头函数

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

更多示例。

function callMe(name) {   console.log('Hello', name); } callMe = name => console.log('Hello', name);

14.短函数调用

我们可以使用三元运算符来实现这些功能。

// Longhand function test1() {   console.log('test1'); }; function test2() {   console.log('test2'); }; var test3 = 1; if (test3 == 1) {   test1(); } else {   test2(); }  // Shorthand (test3 === 1? test1:test2)();

15. Switch简写

我们可以将条件保存在键值对象中,并可以根据条件使用。

// Longhand switch (data) {   case 1:     test1();   break;    case 2:     test2();   break;    case 3:     test();   break;   // And so on... }  // Shorthand var data = {   1: test1,   2: test2,   3: test };  data[something] && data[something]();

16.隐式返回简写

使用箭头函数,我们可以直接返回值,而不必编写return语句。

//longhand function calculate(diameter) {   return Math.PI * diameter }  //shorthand calculate = diameter => (   Math.PI * diameter; )

17.小数基数指数

// Longhand for (var i = 0; i < 10000; i++) { ... }  // Shorthand for (var i = 0; i < 1e4; i++) {

18.默认参数值

//Longhand function add(test1, test2) {   if (test1 === undefined)     test1 = 1;   if (test2 === undefined)     test2 = 2;   return test1 + test2; }  //shorthand add = (test1 = 1, test2 = 2) => (test1 + test2); add() //output: 3

19.扩展运算符简写

//longhand  // joining arrays using concat const data = [1, 2, 3]; const test = [4 ,5 , 6].concat(data);  //shorthand  // joining arrays const data = [1, 2, 3]; const test = [4 ,5 , 6, ...data]; console.log(test); // [ 4, 5, 6, 1, 2, 3]

对于克隆,我们也可以使用扩展运算符。

//longhand  // cloning arrays const test1 = [1, 2, 3]; const test2 = test1.slice()  //shorthand  // cloning arrays const test1 = [1, 2, 3]; const test2 = [...test1];

20.模板文字

如果您厌倦了在单个字符串中使用 + 来连接多个变量,那么这种简写可以消除您的头痛。

//longhand const welcome = 'Hi ' + test1 + ' ' + test2 + '.'  //shorthand const welcome = `Hi ${test1} ${test2}`;

21.多行字符串简写

当我们在代码中处理多行字符串时,可以使用以下功能:

//longhand const data = 'abc abc abc abc abc abc\n\t'     + 'test test,test test test test\n\t'  //shorthand const data = `abc abc abc abc abc abc          test test,test test test test`

22.对象属性分配

let test1 = 'a';  let test2 = 'b';  //Longhand  let obj = {test1: test1, test2: test2};   //Shorthand  let obj = {test1, test2};

23.将字符串转换成数字

//Longhand  let test1 = parseInt('123');  let test2 = parseFloat('12.3');   //Shorthand  let test1 = +'123';  let test2 = +'12.3';

24.用解构简写

//longhand const test1 = this.data.test1; const test2 = this.data.test2; const test2 = this.data.test3;  //shorthand const { test1, test2, test3 } = this.data;

25.用Array.find简写

当我们确实有一个对象数组并且我们想要根据对象属性查找特定对象时,find方法确实很有用。

const data = [   {     type: 'test1',     name: 'abc'   },   {     type: 'test2',     name: 'cde'   },   {     type: 'test1',     name: 'fgh'   }, ] function findtest1(name) {   for (let i = 0; i < data.length; ++i) {     if (data[i].type === 'test1' && data[i].name === name) {       return data[i];     }   } }  //Shorthand filteredData = data.find(data => data.type === 'test1' && data.name === 'fgh'); console.log(filteredData); // { type: 'test1', name: 'fgh' }

26.查找条件简写

如果我们有代码来检查类型,根据类型需要调用不同的方法,我们可以选择使用多个else ifs或者switch,但是如果我们有比这更好的简写方法呢?

// Longhand if (type === 'test1') {   test1(); } else if (type === 'test2') {   test2(); } else if (type === 'test3') {   test3(); } else if (type === 'test4') {   test4(); } else {   throw new Error('Invalid value ' + type); }  // Shorthand var types = {   test1: test1,   test2: test2,   test3: test3,   test4: test4 };   var func = types[type]; (!func) && throw new Error('Invalid value ' + type); func();

27.按位索引简写

当我们遍历数组以查找特定值时,我们确实使用 indexOf() 方法,如果找到更好的方法该怎么办?让我们看看这个例子。

//longhand if(arr.indexOf(item) > -1) { // item found  } if(arr.indexOf(item) === -1) { // item not found }  //shorthand if(~arr.indexOf(item)) { // item found } if(!~arr.indexOf(item)) { // item not found }

按位(?)运算符将返回除-1以外的任何值的真实值。否定它就像做 ~~ 一样简单。另外,我们也可以使用 include() 函数:

if (arr.includes(item)) {      // true if the item found }

28.Object.entries()

此函数有助于将对象转换为对象数组。

const data = { test1: 'abc', test2: 'cde', test3: 'efg' }; const arr = Object.entries(data); console.log(arr); 

29.Object.values()

这也是ES8中引入的一项新功能,该功能执行与 Object.entries() 类似的功能,但没有关键部分:

const data = { test1: 'abc', test2: 'cde' }; const arr = Object.values(data); console.log(arr); 

30.双按位简写

双重NOT按位运算符方法仅适用于32位整数)

// Longhand Math.floor(1.9) === 1 // true  // Shorthand ~~1.9 === 1 // true

31.重复一个字符串多次

要一次又一次地重复相同的字符,我们可以使用for循环并将它们添加到同一循环中,但是如果我们有一个简写方法呢?

//longhand  let test = '';  for(let i = 0; i < 5; i ++) {    test += 'test ';  }  console.log(str); // test test test test test   //shorthand  'test '.repeat(5);

32.在数组中查找最大值和最小值

const arr = [1, 2, 3];  Math.max(&hellip;arr); // 3 Math.min(&hellip;arr); // 1

33.从字符串中获取字符

let str = 'abc';  //Longhand  str.charAt(2); // c  //Shorthand  Note: If we know the index of the array then we can directly use index insted of character.If we are not sure about index it can throw undefined str[2]; // c

34.数学指数幂函数的简写

//longhand Math.pow(2,3); // 8  //shorthand 2**3 // 8

关于JavaScript简写优化技术有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网VUE频道了解更多相关知识。

--结束END--

本文标题: JavaScript简写优化技术有哪些

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript简写优化技术有哪些
    JavaScript简写优化技术有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开发者的生活总是在学习新的东西,跟上变化不应该比现在更...
    99+
    2022-10-19
  • JavaScript有用的简写技术有哪些
    这篇文章主要讲解了“JavaScript有用的简写技术有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript有用的简写技术有哪些”吧!1....
    99+
    2022-10-19
  • JavaScript优化技术都有哪些
    本篇文章为大家展示了JavaScript优化技术都有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。开发人员的生活总是在学习新事物,并且跟上变化的难度不应该比现在...
    99+
    2022-10-19
  • JavaScript有哪些简写技巧
    这篇文章主要介绍“JavaScript有哪些简写技巧”,在日常操作中,相信很多人在JavaScript有哪些简写技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaSc...
    99+
    2022-10-19
  • JavaScript 简写技巧有哪些
    今天小编给大家分享一下JavaScript 简写技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.合并数...
    99+
    2023-07-02
  • JavaScript的简写技巧有哪些
    这篇文章主要讲解了“JavaScript的简写技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript的简写技巧有哪些”吧!1.三元操作符当想写if...else语句时,...
    99+
    2023-06-27
  • JavaScript优化技巧有哪些
    这篇文章主要介绍“JavaScript优化技巧有哪些”,在日常操作中,相信很多人在JavaScript优化技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaSc...
    99+
    2022-10-19
  • JavaScript的简写写法有哪些
    JavaScript的简写写法有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.三元操作符当想写if...else语句时,使用三元操作符...
    99+
    2022-10-19
  • JavaScript优化技巧都有哪些
    JavaScript优化技巧都有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。作为开发人员,我们一直在寻找让我们的代码更快更好的方法。但在...
    99+
    2022-10-19
  • 提升效率的JavaScript简写技巧有哪些
    这篇文章主要讲解了“提升效率的JavaScript简写技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“提升效率的JavaScript简写技巧有哪些”...
    99+
    2022-10-19
  • JS编写优化的技巧有哪些
    本篇内容主要讲解“JS编写优化的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS编写优化的技巧有哪些”吧!1. 按强类型风格写代码JS 是弱类型的,...
    99+
    2022-10-19
  • JavaScript性能优化技巧有哪些
    这篇文章主要为大家展示了“JavaScript性能优化技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript性能优化技巧有哪些”这篇文章吧...
    99+
    2022-10-19
  • JavaScript代码优化技巧有哪些
    这篇文章主要介绍“JavaScript代码优化技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript代码优化技巧有哪些”文章能帮助大家解决问题。1. 使用扩展运算符解构对象和数...
    99+
    2023-07-05
  • Python编写技术有哪些
    这篇文章主要讲解了“Python编写技术有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python编写技术有哪些”吧!Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验...
    99+
    2023-06-02
  • CSS简写的技巧有哪些
    这篇文章主要讲解了“CSS简写的技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS简写的技巧有哪些”吧!一、盒子大小这里主要用于两个属性:mar...
    99+
    2022-10-19
  • javascript简写的方法有哪些
    这篇文章主要介绍了javascript简写的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 空(null, undefined...
    99+
    2022-10-19
  • JavaScript中最常用的代码简写技巧有哪些
    这篇文章给大家分享的是有关JavaScript中最常用的代码简写技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、三元操作符当想写if…else语句时,使用三元操作符来...
    99+
    2022-10-19
  • JavaScript开发技术有哪些
    本篇内容介绍了“JavaScript开发技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用正...
    99+
    2022-10-19
  • 实用的JavaScript优化小技巧有哪些
    这篇文章主要为大家展示了“实用的JavaScript优化小技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“实用的JavaScript优化小技巧有哪些”这...
    99+
    2022-10-19
  • 写JavaScript的小技巧有哪些
    本篇内容介绍了“写JavaScript的小技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. a...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作