Categories: JS编程

你还不知道的那些js语法糖!

JavaScript中的语法糖是指在语法层面上让代码更易于阅读、编写和理解,并不会对代码的功能产生影响的语法特性。

箭头函数

箭头函数的写法更加简洁,同时也可以避免 this 指向问题。

// 普通函数写法
function add(a, b) {
  return a + b;
}

// 箭头函数写法
const add = (a, b) => a + b;

解构赋值

解构赋值可以快速获取对象中的某些属性值。

// 普通写法
const obj = {a: 1, b: 2, c: 3};
const a = obj.a;
const b = obj.b;

// 解构赋值写法
const {a, b} = {a: 1, b: 2, c: 3};

模板字符串

模板字符串让字符串拼接更加方便,并且可以通过 ${} 插入变量。

// 普通写法
const name = 'World';
console.log('Hello, ' + name + '!');

// 模板字符串写法
const name = 'World';
console.log(`Hello, ${name}!`);

可选链操作符

可选链操作符可以简化检查对象属性是否存在的代码。

// 普通写法
const address = user && user.address;

// 可选链操作符写法
const address = user?.address;

Async / Await

Async / Await 可以让异步操作的代码更加简洁易读。

// 普通写法
fetch('/api/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.log(error));

// Async / Await 写法
async function fetchAndLogData() {
  try {
    const response = await fetch('/api/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.log(error);
  }
}

Promise

Promise是一种处理异步操作的方式,可以更加清晰明了地表示异步操作的完成与否,并进行后续处理。

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    const num = Math.random();
    if (num > 0.5) {
      resolve(num);
    } else {
      reject('Error: number is too small.');
    }
  }, 1000);
});

promise.then(result => {
  console.log(`Success: ${result}`);
}).catch(error => {
  console.log(error);
});

map、filter、reduce等高阶函数

高阶函数可以简化数组的操作,使代码更加简洁易读

const arr = [1, 2, 3, 4, 5];
const squares = arr.map(num => num * num);
console.log(squares); // [1, 4, 9, 16, 25]

const evenNumbers = arr.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]

const sum = arr.reduce((acc, cur) => acc + cur);
console.log(sum); // 15

短路运算符

使用&&和||短路运算符可以更加简洁地表示条件语句,避免了冗余代码的出现。

const age = 30;
const isAdult = age >= 18 && 'Yes' || 'No';
console.log(isAdult); // Yes

展开运算符

展开运算符可以将数组或对象展开为多个参数或元素,也可以将多个数组或对象元素并为一个

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
console.log(arr3); // [1, 2, 3, 4, 5, 6]

const obj1 = { name: 'John', age: 30 };
const obj2 = { gender: 'Male', occupation: 'Engineer' };
const obj3 = { ...obj1, ...obj2 };
console.log(obj3); // { name: 'John', age: 30, gender: 'Male', occupation: 'Engineer' }

默认参数

默认参数可以在函数定义时给参数设置默认值,当没有传入参数时,使用默认值。

const greet = (name = 'guest') => `Hello, ${name}!`;
console.log(greet()); // Hello, guest!
console.log(greet('John')); // Hello, John!
5.0
03
JavaScript中Console.log13种妙用
解决百度统计被恶意刷垃圾广告搜索词行为
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Share
Published by
嘻嘻

Recent Posts

全球货币导航网页上线了!

o在全球化的今天,货币兑换和国…

8小时 ago

bash字符串拼接

在编程中,字符串的拼接是一个非…

9小时 ago

Bash Case详解

Bash case 语句通常用…

9小时 ago

Bash for详解

for循环是编程语言中的基础概…

9小时 ago

liunux中你必须知道alias命令?

在Linux操作系统中,无论你…

1天 ago

zshrc文件详解

Zsh 是一个强大的 shel…

2天 ago