1. 声明变量

//普通写法
let x;
let y = 20; //简写
let x, y = 20;

2. 给多个变量赋值

//普通写法
let a, b, c;
a = 5;
b = 8;
c = 12; //简写
let [a, b, c] = [5, 8, 12];

3. 三元运算符

//普通写法
let marks = 26;
let result;
if(marks >= 30){
result = 'Pass';
}else{
result = 'Fail';
}
//简写
let result = marks >= 30 ? 'Pass' : 'Fail';

4. 多值匹配

//普通写法
if (value === 1 || value === 'one' || value === 2 || value === 'two') {
// Execute some code
} //简写 1
if ([1, 'one', 2, 'two'].indexOf(value) >= 0) {
// Execute some code
} //简写 2
if ([1, 'one', 2, 'two'].includes(value)) { // 包含则返回 true,否则返回false。
// Execute some code
}

5. 字符串转数字

//普通写法
let total = parseInt('453');
let average = parseFloat('42.6'); //简写
let total = +'453';
let average = +'42.6';

6. 多次重复一个字符串

//普通写法
let str = '';
for (let i = 0; i < 5; i++) {
str += 'Hello ';
}
console.log(str); // Hello Hello Hello Hello Hello //简写
'Hello '.repeat(5); // 想要换行只需加换行符即可(helle\n)

7. 查找数组中最大和最小的数

// 我们可以使用for循环遍历数组的每个值并找到最大值或最小值。我们也可以使用Array.reduce()方法在数组中找到最大和最小数。
//简写
const arr = [2, 8, 15, 4];
Math.max(...arr); // 15
Math.min(...arr); // 2

8. Array.find

// 前
const pets = [
{type: 'Dog', name: 'Max'},
{type: 'Cat', name: 'Karl'},
{type: 'Dog', name: 'Tommy'}
] function findDog(name) {
for(let i = 0; i < pets.length; ++i) {
if(pets[i].type === 'Dog' && pets[i].name === name) {
return pets[i]
}
}
} // 后
dog2 = pets.find(pet => pet.type === 'Dog' && pet.name === 'Tommy');

9. AND(&&)短路求值法

如果仅在变量为true的情况下才调用函数,则可以使用AND(&&)短路求值法作为替代方法。

//普通写法
if (isLoggedin) {
goToHomepage();
} //简写
isLoggedin && goToHomepage();

10. 交换两个变量

要交换两个变量,我们经常要用到第三个变量。但是,我们也可以通过数组解构赋值,从而轻松地交换变量。

let x = 'Hello', y = 55;
//普通写法
const temp = x;
x = y;
y = temp; //简写
[x, y] = [y, x];

11. 箭头函数

//普通写法
function add(num1, num2) {
return num1 + num2;
} //简写
const add = (num1, num2) => num1 + num2;

12. 模板字面量

我们通常使用+运算符将字符串值与变量连接在一起。但是,我们也可以使用ES6模板字面量这个更简单的实现方式。

//普通写法
console.log('You got a missed call from ' + number + ' at ' + time); //简写
console.log(`You got a missed call from ${number} at ${time}`);

13. 对象属性赋值

如果变量名和对象键名相同,那么我们只需在对象字面量中提及变量名即可,而不需要键和值。JavaScript会自动给与变量名相同的键设置变量值,例如:

let firstname = 'Amitav';
let lastname = 'Mishra';
//普通写法
let obj = {firstname: firstname, lastname: lastname}; //简写
let obj = {firstname, lastname};

14. for循环

为了遍历数组,我们通常使用传统的for循环。我们可以利用for ... of循环遍历数组。要访问每个值的索引,我们可以使用for ... in循环。

let arr = [10, 20, 30, 40];
//普通写法
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
//简写
//for of loop
for (const val of arr) {
console.log(val);
}
//for in loop
for (const index in arr) {
console.log(`index: ${index} and value: ${arr[index]}`);
} 我们还可以使用for ... in循环遍历对象属性。 let obj = {x: 20, y: 50};
for (const key in obj) {
console.log(obj[key]);
}

15. 合并数组

let arr1 = [20, 30];
//普通写法
let arr2 = arr1.concat([60, 80]);
// [20, 30, 60, 80] //简写
let arr2 = [...arr1, 60, 80];
// [20, 30, 60, 80]

16. 从字符串中获取字符

let str = 'jscurious.com';
//普通写法
str.charAt(2); // c //简写
str[2]; // c

这些简写技术中有些可能与项目的使用不相关,但是多学一点总不会错。编码愉快!------ 转载于微信公众号前端新世界

JavaScript 简写技巧的更多相关文章

  1. JavaScript简写技巧总结

    在日常工作中,JavaScript一些常用的简写技巧,将直接影响到我们的开发效率,现将常用技巧整理如下: 1. 空(null, undefined)验证     当我们创建了一个新的变量,我们通常会去 ...

  2. 10 个超棒的 JavaScript 简写技巧

    今天我要分享的是10个超棒的JavaScript简写方法,可以加快开发速度,让你的开发工作事半功倍哦. 开始吧! 1. 合并数组 普通写法: 我们通常使用Array中的concat()方法合并两个数组 ...

  3. JavaScript 开发人员需要知道的简写技巧

    本文来源于多年的 JavaScript 编码技术经验,适合所有正在使用 JavaScript 编程的开发人员阅读. 本文的目的在于帮助大家更加熟练的运用 JavaScript 语言来进行开发工作. 文 ...

  4. 12个非常实用的JavaScript小技巧

    在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是 ...

  5. javascript小小技巧

    JS的一些小技巧,我主要是做后台的(.NET),前端知识了解得不多,经验非常有限,不过还是经常写JS代码,对前端有着浓厚的兴趣,特喜欢js这门语言,虽然很多人喷它,但还是很喜欢Js.下面说说项目中我经 ...

  6. 11个不常被提及的JavaScript小技巧

    这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在 ES6中新增的,它类似于数组,但 ...

  7. [转]11个教程中不常被提及的JavaScript小技巧

    原文地址: https://www.cnblogs.com/ld1024/p/10723827.html 这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日 ...

  8. 11个教程中不常被提及的JavaScript小技巧

    这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是 ...

  9. 12个十分实用的JavaScript小技巧

    12个非常实用的JavaScript小技巧 在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候 ...

随机推荐

  1. Spark在处理数据的时候,会将数据都加载到内存再做处理吗?

    对于Spark的初学者,往往会有一个疑问:Spark(如SparkRDD.SparkSQL)在处理数据的时候,会将数据都加载到内存再做处理吗? 很显然,答案是否定的! 对该问题产生疑问的根源还是对Sp ...

  2. java对象克隆复制

    原文链接:https://blog.csdn.net/ztchun/article/details/79110096 自己先简单描述总结一下:当想要将一个对象中已有的值直接给另外一个对象的时候,其实并 ...

  3. Spring注解@PropertySource加载配置文件和SpringBoot注解@Value、@ConfigurationProperties进行属性映射

    SpringBoot的配置文件 位置:resources目录下 配置文件的作用: (1).SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用a ...

  4. 微信小程序:小程序中使用Less

    配置: 首选项 -> 设置 -> 用户 -> 扩展 (找到EasyLess插件,编辑setting.json文件进行配置) 点击vscode左下角的à设置à点击右上角的à添加以上代码 ...

  5. DRF 三大认证之身份认证

    目录 路由组件补充 三大认证 一.身份认证 1.如何进行身份认证 2.jwt认证规则原理 3.jwt的组成 4.jwt的使用方法 4.1 签发算法 4.2 校验算法 4.3 刷新算法 二.权限认证 三 ...

  6. 基于docker搭建gitlab

    一.概述 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 它拥有与Github类似的功能,能够浏览 ...

  7. Win网络安全审计

    目录 Win进程通信 netstat -nb TCPView 审计登陆历史 security日志 WinLogOnView Win进程通信 netstat -nb 用这个命令就能看到进程和外部的IP连 ...

  8. 剑指 Offer 59 - II. 队列的最大值--滑动窗口的建模+Deque的基本使用(常用方法)

    剑指 Offer 59 - II. 队列的最大值 题目链接 package com.walegarrett; /** * @Author WaleGarrett * @Date 2020/12/3 1 ...

  9. 记录实践PC端微信防撤回实现过程(基于3.1.0.67版本)

    利用OD实现对PC端微信防撤回功能的实现 文章最后有一键补丁工具哦~ 准备工具 1.OD 2.PC微信客户端(3.1.0.67) 过程 1.运行微信客户端,不需要登录 2.运行OD,左上角选择附加进程 ...

  10. Codeforces Round #546 C. Nastya Is Transposing Matrices

    题面: 传送门 题目描述: 给出两个n x m的矩阵A,B.矩阵A可以把正方子矩阵进行"转置操作",问:可不可以对矩阵A进行多次这样的操作,使矩阵A变为矩阵B?   题目分析: 这 ...