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

废话不多话,在本文中,列出了一些比较常用或者实用的的 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 循环

 
 
 
 
  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.默认参数值

早期的做法

 
 
 
 
  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.箭头函数的简写

 
 
 
 
  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.函数必须有参数值

 
 
 
 
  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.有条件的函数调用

 
 
 
 
  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)) // 常规写法 
  4. console.log(~~val) // 简写 

18.Math.pow  简写

 
 
 
 
  1. Math.pow(2, 3) // 8 
  2. // 简写 
  3. 2 ** 3 // 8 

19.将字符串转换为数字

 
 
 
 
  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.可选的链运算符(即将发布)

现在有一个关于ECMAScript的新提议,值得了解。

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

如果 zip是undefined ,则不会引发错误。

该语法还支持函数和构造函数调用

 
 
 
 
  1. let address = getAddressByZip.?(12345) 

如果getAddressByZip是调用它的函数,否则,表达式将以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

本文转载自微信公众号「 大迁世界」,可以通过以下二维码关注。转载本文请联系 大迁世界公众号。

网站题目:22+高频实用的JavaScript片段(2020年)
URL分享:http://www.hantingmc.com/qtweb/news3/501453.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联