javascript代码精简写法(一)

从本文开始,启动一个系列,介绍JavaScript的一些便捷的写法或者API

为何使用新特性?技术在发展,新技术的产生必然是解决了开发者编程中面临的痛点(痛苦的点),旧技术之所以落伍也是同理。技术发展,我们程序员也当紧跟时代的变革,拥抱新技术。同时,我们也要意识到技术只是工具,我们使用技术解决的问题才是我们的目标,只有这样我们才不会迷失在学习的焦虑之中。

  • 三元运算符,用于简化判断操作
let hasPre = true;
let hasNext = hasPre ? true:false;
  • 短路求值
let room = null;
let roomIsEmpty = room && room.hasItems;//意为只有room存在且里面装了东西,才非空.存在依赖关系
let roomCopy = room || "a new room";//取真值
  • 默认参数
// 严格来说不应该使用的,因为形参与实参应该是一一对应的,但会存在一些没有传参的场景。
//默认参数可为 :函数调用表达式、算术表达式等。只在缺省参数时这些表达式才会求值。
function lazyCalled(){ console.log("只有不传参,我才会调用") }

function main(exp = lazyCalled()){ console.log("主方法执行!") }

main(123);//主方法执行!
main();//只有不传参,我才会调用 //主方法执行!
  • 扩展运算符
//语法形式:... 三个点,用于展开数组形式的数组
console.log(...[1,2,3]);//1,2,3

//合并数组
var arr1 = [1,2,3]
var arr2 = [4,5,6,...arr1]

//去掉数组中的第一项
var [first,...rest] = arr1;//rest 即为 去掉数组中的第一项后剩余的项

//去掉对象的某个属性后的剩余部分

var obj = { name:'foo',sex:'female',age:18 }
var { name ,...rest } = obj;//rest : { sex:'female',age:18 }

猜你喜欢

转载自blog.csdn.net/qq_40882724/article/details/82254609