自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

22+ 高頻實用的 JavaScript 片段 (2020年)

開發(fā) 前端
廢話不多話,在本文中,列出了一些比較常用或者實用的的 JavaScript 代碼片段,希望對你們有所幫助。

 [[339940]]

廢話不多話,在本文中,列出了一些比較常用或者實用的的 JavaScript 代碼片段,希望對你們有所幫助。

1.三元運算符

  1. let someThingTrue = true 
  2. if(someThingTrue){ 
  3.     handleTrue() 
  4. }else
  5.     handleFalse() 
  6.  
  7. ****** 以下是簡短版本 ****** 
  8.  
  9. let someThingTrue = true 
  10. someThingTrue ?  handleTrue() : handleFalse() 

2.短路或運算

  1. const defaultValue = "SomeDefaultValue" 
  2. let someValueNotSureOfItsExistance = null 
  3. let expectingSomeValue = someValueNotSureOfItsExistance ||     defaultValue 
  4.  
  5. console.log(expectingSomeValue) // SomeDefaultValue 

3. 條件成立

  1. let someValue = true 
  2. if (someValue) { 
  3.   console.log('條件成立!'

4. for 循環(huán)

  1. for (let i = 0; i < 1e2; i++) { // 代替 i<100 是不是有點酷 
  2. let someValues = [1, 2, 4] 
  3. for (let val in someValues) { 
  4.   console.log(val) 
  5. let obj = { 
  6.   'key1''value1'
  7.   'key2''value2'
  8.   'key3''value3' 
  9. for (let key in obj) { 
  10.   console.log(key

5. 值到對象的映射

  1. let x='x',y='y' 
  2. let obj = {x,y} 
  3.  
  4. console.log(obj) // {x: "x", y: "y"

6. Object.entries()

  1. const credits = { 
  2.   producer: '大遷世界'
  3.   name'前端小智'
  4.   rating: 9 
  5. const arr = Object.entries(credits) 
  6. console.log(arr) 
  7.  
  8. *** 輸出 *** 
  9. [ [ 'producer''大遷世界' ], [ 'name''前端小智' ], [ 'rating', 9 ] ] 

7. Object.values()

  1. const credits = { 
  2.   producer: '大遷世界'
  3.   name'前端小智'
  4.   rating: 9 
  5. const arr = Object.values(credits) 
  6. console.log(arr) 
  7.  
  8. *** 輸出 *** 
  9.  
  10. '大遷世界''前端小智', 9 ] 

8. 模板字面量

  1. let name = '前端小智' 
  2. let age = 20 
  3. var someStringConcatenateSomeVariable = `我是 ${name},今年 ${age} 歲` 
  4. console.log(someStringConcatenateSomeVariable) 

9. 解構賦值

  1. import { observable, action, runInAction } from 'mobx'

10.多行字符串

  1. let multiLineString = `some string\n 
  2. with multi-line of\n 
  3. characters\n` 
  4.  
  5. console.log(multiLineString) 

11.Array.find 簡寫

  1. const pets = [{ 
  2.     type: 'Dog'
  3.     name'Max' 
  4.   }, 
  5.   { 
  6.     type: 'Cat'
  7.     name'Karl' 
  8.   }, 
  9.   { 
  10.     type: 'Dog'
  11.     name'Tommy' 
  12.   } 
  13. pet = pets.find(pet => pet.type === 'Dog' && pet.name === 'Tommy'
  14.  
  15. console.log(pet) // { type: 'Dog'name'Tommy' } 

12.默認參數(shù)值

早期的做法

  1. function area(h, w) { 
  2.   if (!h) { 
  3.     h = 1; 
  4.   } 
  5.   if (!w) { 
  6.     w = 1; 
  7.   } 
  8.   return h * w 

ES6 以后的做法

  1. function area(h = 1, w = 1) { 
  2.   return h * w 

13.箭頭函數(shù)的簡寫

  1. let sayHello = (name) => { 
  2.   return `你好,${name}` 
  3.  
  4. console.log(sayHello('前端小智')) 

簡寫如下:

  1. let sayHello = name => `你好,${name}` 
  2.  
  3. console.log(sayHello('前端小智')) 

14.隱式返回

  1. let someFuncThatReturnSomeValue = (value) => { 
  2.   return value + value 
  3. console.log( 
  4. someFuncThatReturnSomeValue('前端小智')) 

簡寫如下:

  1. let someFuncThatReturnSomeValue = (value) => ( 
  2.   value + value 
  3. console.log(someFuncThatReturnSomeValue('前端小智')) 

15.函數(shù)必須有參數(shù)值

  1. function mustHavePatamMethod(param) { 
  2.   if (param === undefined) { 
  3.     throw new Error('Hey You must Put some param!'); 
  4.   } 
  5.   return param; 

以像這樣重寫:

  1. mustHaveCheck = () => { 
  2.   throw new Error('Missing parameter!'
  3. methodShoudHaveParam = (param = mustHaveCheck()) => { 
  4.   return param 

16.charAt() 簡寫

  1. 'SampleString'.charAt(0) // S 
  2. // 簡寫 
  3. 'SampleString'[0] 

17.有條件的函數(shù)調(diào)用

  1. function fn1() { 
  2.   console.log('I am Function 1'
  3.  
  4. function fn2() { 
  5.   console.log('I am Function 2'
  6. /* 
  7. 長的寫法 
  8. */ 
  9. let checkValue = 3; 
  10. if (checkValue === 3) { 
  11.   fn1() 
  12. else { 
  13.   fn2() 

簡短的寫法:

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

17.Math.Floor 簡寫

  1. let val = '123.95' 
  2.  
  3. console.log(Math.floor(val)) // 常規(guī)寫法 
  4. console.log(~~val) // 簡寫 

18.Math.pow  簡寫

  1. Math.pow(2, 3) // 8 
  2. // 簡寫 
  3. 2 ** 3 // 8 

19.將字符串轉換為數(shù)字

  1. const num1 = parseInt('100'
  2. // 簡寫 
  3. console.log(+"100"
  4. console.log(+"100.2"

20.&& 運算

  1. let value = 1; 
  2. if (value === 1) 
  3.   console.log('Value is one'
  4. //OR In short  
  5. value && console.log('Value is one'

21.toString 簡寫

  1. let someNumber = 123 
  2. console.log(someNumber.toString()) // "123" 
  3. // 簡寫 
  4. console.log(`${someNumber}`) // "123" 

22.可選的鏈運算符(即將發(fā)布)

現(xiàn)在有一個關于ECMAScript的新提議,值得了解。

  1. let someUser = { 
  2.   name'Jack' 
  3. let zip = someUser?.address?.zip //可選鏈接,像 Swift  

如果 zip是undefined ,則不會引發(fā)錯誤。

該語法還支持函數(shù)和構造函數(shù)調(diào)用

  1. let address = getAddressByZip.?(12345) 

如果getAddressByZip是調(diào)用它的函數(shù),否則,表達式將以undefined的形式計算。

23. 使用對象的方式來替換 switch 語法

  1. let fruit = 'banana'
  2. let drink; 
  3. switch (fruit) { 
  4.   case 'banana'
  5.     drink = 'banana juice'
  6.     break; 
  7.   case 'papaya'
  8.     drink = 'papaya juice'
  9.     break; 
  10.   default
  11.     drink = 'Unknown juice!' 
  12. console.log(drink) // banana juice 

作者:xor 譯者:前端小智 來源:medium

原文:https://medium.com/javascript-in-plain-english/some-js-shortcuts-82bc2f56146e

本文轉載自微信公眾號「 大遷世界」,可以通過以下二維碼關注。轉載本文請聯(lián)系 大遷世界公眾號。

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2023-06-16 16:34:25

JavaScripWeb 開發(fā)

2023-11-03 16:02:00

JavaScript開發(fā)

2024-01-04 16:46:58

JavaScript開發(fā)

2021-09-17 15:31:47

代碼JavaScript數(shù)組

2022-06-08 08:55:15

JavaScript代碼前端

2015-10-08 08:53:46

PHP代碼片段

2011-07-07 10:35:53

htaccess

2015-11-02 09:25:07

jQuery代碼片段

2011-07-14 10:07:19

PHP

2024-04-09 00:00:00

Java代碼片段

2020-11-16 16:04:42

CSS設計代碼

2021-10-31 07:36:17

前端JavaScript編程

2020-08-12 08:31:57

JavaScript

2020-08-02 23:48:57

JavaScript用戶認證庫開發(fā)

2023-10-09 14:48:06

2019-11-14 15:30:34

JavaScript代碼前端

2023-10-10 16:16:05

JavaScrip開發(fā)

2021-01-18 15:46:10

JavaScript開發(fā) 編程

2023-05-22 15:53:06

JavaScrip代碼素材

2011-07-11 10:16:07

JavaScript
點贊
收藏

51CTO技術棧公眾號