22+ 高频实用的 JavaScript 片段 (2020年)

2.短路运算


const defaultValue = “SomeDefaultValue”

let someValueNotSureOfItsExistance = null

let expectingSomeValue = someValueNotSureOfItsExistance || defaultValue

console.log(expectingSomeValue) // SomeDefaultValue

3. 条件成立


let someValue = true

if (someValue) {

console.log(‘条件成立!’)

}

4. for 循环


for (let i = 0; i < 1e2; i++) { // 代替 i<100 是不是有点酷

}

let someValues = [1, 2, 4]

for (let val in someValues) {

console.log(val)

}

let obj = {

‘key1’: ‘value1’,

‘key2’: ‘value2’,

‘key3’: ‘value3’

}

for (let key in obj) {

console.log(key)

}

5. 值到对象的映射


let x=‘x’,y=‘y’

let obj = {x,y}

console.log(obj) // {x: “x”, y: “y”}

6. Object.entries()


const credits = {

producer: ‘大迁世界’,

name: ‘前端小智’,

rating: 9

}

const arr = Object.entries(credits)

console.log(arr)

*** 输出 ***

[ [ ‘producer’, ‘大迁世界’ ], [ ‘name’, ‘前端小智’ ], [ ‘rating’, 9 ] ]

7. Object.values()


const credits = {

producer: ‘大迁世界’,

name: ‘前端小智’,

rating: 9

}

const arr = Object.values(credits)

console.log(arr)

*** 输出 ***

[ ‘大迁世界’, ‘前端小智’, 9 ]

8. 模板字面量


let name = ‘前端小智’

let age = 20

var someStringConcatenateSomeVariable = 我是 ${name},今年 ${age} 岁

console.log(someStringConcatenateSomeVariable)

9. 解构赋值


import { observable, action, runInAction } from ‘mobx’;

10.多行字符串


let multiLineString = `some string\n

with multi-line of\n

characters\n`

console.log(multiLineString)

大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】

11.Array.find 简写


const pets = [{

type: ‘Dog’,

name: ‘Max’

},

{

type: ‘Cat’,

name: ‘Karl’

},

{

type: ‘Dog’,

name: ‘Tommy’

}

]

pet = pets.find(pet => pet.type === ‘Dog’ && pet.name === ‘Tommy’)

console.log(pet) // { type: ‘Dog’, name: ‘Tommy’ }

12.默认参数值


早期的做法

function area(h, w) {

if (!h) {

h = 1;

}

if (!w) {

w = 1;

}

return h * w

}

ES6 以后的做法

function area(h = 1, w = 1) {

return h * w

}

13.箭头函数的简写


let sayHello = (name) => {

return 你好,${name}

}

console.log(sayHello(‘前端小智’))

简写如下:

let sayHello = name => 你好,${name}

console.log(sayHello(‘前端小智’))

14.隐式返回


let someFuncThatReturnSomeValue = (value) => {

return value + value

}

console.log(

someFuncThatReturnSomeValue(‘前端小智’))

简写如下:

let someFuncThatReturnSomeValue = (value) => (

value + value

)

console.log(someFuncThatReturnSomeValue(‘前端小智’))

15.函数必须有参数值


function mustHavePatamMethod(param) {

if (param === undefined) {

throw new Error(‘Hey You must Put some param!’);

}

return param;

}

以像这样重写:

mustHaveCheck = () => {

throw new Error(‘Missing parameter!’)

}

methodShoudHaveParam = (param = mustHaveCheck()) => {

return param

}

16.charAt() 简写


‘SampleString’.charAt(0) // S

// 简写

‘SampleString’[0]

17.有条件的函数调用


function fn1() {

console.log(‘I am Function 1’)

}

function fn2() {

console.log(‘I am Function 2’)

}

/*

长的写法

*/

let checkValue = 3;

if (checkValue === 3) {

fn1()

} else {

fn2()

}

简短的写法:

(checkValue === 3 ? fn1 : fn2)()

17.Math.Floor 简写


let val = ‘123.95’

console.log(Math.floor(val)) // 常规写法

console.log(~~val) // 简写

大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】

18.Math.pow 简写


Math.pow(2, 3) // 8

// 简写

2 ** 3 // 8

19.将字符串转换为数字


const num1 = parseInt(‘100’)

// 简写

console.log(+“100”)

console.log(+“100.2”)

20.&& 运算


let value = 1;

if (value === 1)

console.log(‘Value is one’)

//OR In short

value && console.log(‘Value is one’)

21.toString 简写


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值