1. if多条件判断
- // 冗余
- if (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') {}
-
- // 简洁
- if (['abc', 'def', 'ghi', 'jkl'].includes(x)) {}
2. if...else...
: N; Q3 h" ^( i* _2 N1 Z- // 冗余
- let test: boolean;
- if (x > 100) {
- test = true;
- } else {
- test = false;
- }
-
- // 简洁
- let test = x > 10;
3. Null, Undefined, 空值检查
. ~" p6 S1 k& Y5 Y% B6 P, Z- // 冗余
- if (first !== null || first !== undefined || first !== '') {
- let second = first;
- }
-
- // 简洁
- let second = first || '';
4. foreach循环- // 冗余
- for (var i = 0; i < testData.length; i++)
-
- // 简洁
- for (let i in testData)
- // 或
- for (let i of testData)
5. 函数条件调用 D1 X6 _, A2 K6 {$ {( l, o/ j: L
- // 冗余
- function test1() {
- console.log('test1');
- };
- function test2() {
- console.log('test2');
- };
- var test3 = 1;
- if (test3 == 1) {
- test1();
- } else {
- test2();
- }
-
- // 简单
- (test3 === 1? test1:test2)();
6. switch条件: b0 g* N6 N# u# p( n- u# r1 X5 C
- // 冗余
- switch (data) {
- case 1:
- test1();
- break;
-
- case 2:
- test2();
- break;
-
- case 3:
- test();
- break;
- // so on...
- }
-
- // 简洁
- var data = {
- 1: test1,
- 2: test2,
- 3: test
- };
-
- data[anything] && data[anything]( "anything] && data[anything");
7. 多行字符串
# R7 q$ g; P, g- l- // 冗余
- const data = 'abc abc abc abc abc abc\n\t'
- + 'test test,test test test test\n\t'
-
- // 简洁
- const data = `abc abc abc abc abc abc
- test test,test test test test`
8. 隐式返回
: m" K: ]! d: t) f! B; ]- // 冗余
- function getArea(diameter) {
- return Math.PI * diameter
- }
-
- // 简洁
- getArea = diameter => (
- Math.PI * diameter;
- )
9. 重复字符串多次- // 冗余
- let test = '';
- for(let i = 0; i < 5; i ++) {
- test += 'test ';
- }
-
- // 简洁
- 'test '.repeat(5);
10. 幂乘- // 冗余
- Math.pow(2,3);
-
- // 简洁
- 2**3 // 8
|