【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)

大家好,最近准备总结一下JS的经验,分享分享,有不对的欢迎讨论哈~

JS作为前端的基础技能,每一位前端开发都要运用熟练,但你真的会写JS吗?js全称JavaScript,是运行在浏览器上的脚本语言,连续多年被评为全球最受欢迎的编程语言。

不是说你对js的函数有多熟,更不是问你英文打次拼写的问题。而是,天天写JS,你有想过怎么让JS写的更优吗?除了codeclean,还有些小技巧和经验可以总结来看看。站在别人的肩膀上,你可以看的更远!~

目录

1.includes判断多条件

2. if-else 条件换成三目运算简写

3.Null, Undefined,空检查等假值判断

 4.将值分配给多个变量

 5.赋值运算符简写

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

7.return全集返回值

8.使用箭头函数

9.短函数调用

10.Switch简写


【以下例子中图片是not good,代码里是good的,方便区分】

1.includes判断多条件

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第1张图片

 当if的条件很多,不如用数组的includes来判断

if (['a', 'b', 'c', 'd'].includes(x)) {
  //logic
}

2. if-else 条件换成三目运算简写

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第2张图片

如图,可以写成:

let test = (x > 50) ? true : false;

// 更短的方式:
let test = x > 50;

 又比如嵌套了多条件时:

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第3张图片

 可以简写成:

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

3.Null, Undefined,空检查等假值判断

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第4张图片

我们可以用更简短的方式来排除假值

let test2 = test1 || '';

或者这种场景下:

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第5张图片

if (test1) {
    //logic
}

 4.将值分配给多个变量

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第6张图片

一行就可以解决:

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

 甚至遇到对象,也可能用这样方法:

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第7张图片

let {num1:test1, num2:test2, num3:test3} = {num1: 1, num2: 2, num3: 3};

 5.赋值运算符简写

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第8张图片

test1++;
test2--;
test3 *= 20;

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

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第9张图片

test && oneMethod();

7.return全集返回值

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第10张图片

function checkReturn() {
    return test || callMe('test');
}

8.使用箭头函数

单行返回省略return

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第11张图片

const add = (a, b) => a + b;

单个参数省略括号

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第12张图片

callName = name => console.log('Hello', name);

9.短函数调用

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第13张图片

用三元运算符来实现 

(test3 === 1? test1:test2)();

10.Switch简写

【JS经验分享】你真的会写JS吗?满满干货,建议读三遍(1)_第14张图片

多条件触发用对象存储,再调用:

var data = {
  1: test1,
  2: test2,
  3: test
};
data[something] && data[something]();

其他奇技淫巧,当有一个参数时,需要返回结果时,字典的键值对取代switch语句

let data = ({
    1: test1(),
    2: () => { return 0 },
    3: test2(),
    4: () => { return 1 }
})[ num || 0 ]()

细节很多,干货满满,建议读三遍。每次分享10个小技巧,欢迎关注我持续更新这个专题哦~~

你可能感兴趣的:(JS,ES,TS,javascript,前端,开发语言)