编程技术2020高频实用的 JavaScript 片段_编程技术_亿码酷站插图

【相关学习推荐:javascript

频教程”>javascript视频教程】

废话不多话,在本文中,列出了一些比较常用或者实用的的 JavaScript 代码片段,希望对你们有所帮助。

1.三元运算符

let someThingTrue = true
if(someThingTrue){
    handleTrue()
}else{
    handleFalse()
}

****** 以下是简短版本 ******

let someThingTrue = true
someThingTrue ?  handleTrue() : handleFalse()复制代码

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 简写

let someNumber = 123
console.log(someNumber.toString()) // "123"
// 简写
console.log(`${someNumber}`) // "123"复制代码

22.可选的链运算符(即将发布

2020高频实用的 JavaScript 片段
—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除

简易实现HTTPS之自动实现ssl

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!