首页 > 其他分享 >常用的js判断简写技巧

常用的js判断简写技巧

时间:2023-06-01 15:12:04浏览次数:45  
标签:obj undefined js 运算符 student address console 简写 技巧

空值合并运算符(??)是一个逻辑运算符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。

function(obj){
  var b = obj ?? {}
}
// 等价于 =>>
function(obj){
  var b;
  if(
    obj === null || 
    obj === undefined
  ){
     b = {}
   } else {
     b = obj;
  }
}

可选链运算符?.)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 运算符的功能类似于 . 链式运算符,不同之处在于,在引用为空 (nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined

const student = {
  name: "Joy",
  age: 28,
  address: {
    state: "Hong Kong"
  },
};

// LONG FORM
console.log(student && student.address && student.address.ZIPCode); // Doesn't exist - Returns undefined
// SHORTHAND
console.log(student?.address?.ZIPCode); // Doesn't exist - Returns undefined

逻辑空赋值运算符(x ??= y仅在 x 是空值null 或 undefined)时对其赋值。

const a = { c: 50 };

a.c??= 10;
console.log(a.c);
// expected output: 50

a.speed ??= 33;
console.log(a.speed);
// expected output: 33

 

标签:obj,undefined,js,运算符,student,address,console,简写,技巧
From: https://www.cnblogs.com/wuxu-dl/p/17449048.html

相关文章

  • Mysql json数组解析方法
    一、背景在表job_position需要对json数组进行解析,查找json数组对象中的数据 首先想到查找mysql的关于json的函数,这边做个记录。二、解决方案2.1 JSON_EXTRACT(json字段,'$.属性名称')需要了解函数 JSON_EXTRACT(json_doc, path[, path]...)  从json中提取数据,JSON_E......
  • ES6技巧
    1、利用ES6,根据id替换有id相同的数组元素constreplaceElementById=(arr,newElement)=>{constindex=arr.findIndex(element=>element.id===newElement.id);if(index!==-1){arr[index]=newElement;}returnarr;}其中,arr是原数组,newElement......
  • JS垃圾回收——和其他语言一样,JavaScript 的 GC 策略也无法避免一个问题:GC 时,停止响应
    JavaScript内存管理&垃圾回收机制标记清除js中最常用的垃圾回收方式就是标记清除。当变量进入环境时,例如,在函数中声明一个变量,就将这个而变量标记为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离......
  • JS 树型结构 模糊搜索 匹配到所有的节点,包括所有的父节点
    treeData就是el-tree:data要绑定的数据 :data=treeData treeOptions.data是接口返回的原始树形结构数据//根据关键字过滤后的数据consttreeData=computed(()=>{  if(!options.searchText)returntreeOptions.data;  letmhres=filterNodeMethod(opti......
  • nodejs版playwright
        awaitthis._page.waitForLoadState('networkidle');  awaitthis._page.waitForLoadState('load')  awaitthis._page.waitForLoadState('domcontentloaded')  awaitthis._page.waitForSelector('body');await......
  • json.dumps(),json.loads(),json.dump(),json.load()方法的区别(python)
    1.json.dumps()json.dump()是将字典类型转化成字符串类型。importjsondic={'a':'1111','b':'2222','c':'3333','d':'4444'}st=json.dumps(dic)print("我是字典类型的",dic)print("我是字......
  • 原生JS输入姓名科目分数添加到表格,可删除
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • JVM-常用工具(jps、jstat、jinfo、jmap、jhat、jstack、jconsole、jvisualvm)使用
    场景记录JVM中常用工具。jps:虚拟机进程状态工具jps(JVMProcessStatusTool):虚拟机进程状态工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID。命令格式:jps[options][hostid]示例:jps-l ......
  • JS中传递数字过大,数据值会变化的解决办法
    虽然本人从事后端业务为主,但是在实际开发中难免或多或少会遇到与js打交道的情况,今天记录一个实际开发中遇到的小问题,与大家分享如下:如果要在js函数中传递大整型数值,一定要用字符串,否则会出现精度变化的情况,不准确...onclick="testfun(20221123140846431743)"...functiontestfu......
  • Javascript --常用技巧
    1)使用!!将变量转换成布尔类型有时,我们需要检查一些变量是否存在,或者它是否具有有效值,从而将它们的值视为true。对于做这样的检查,你可以使用||(双重否定运算符),它能自动将任何类型的数据转换为布尔值,只有这些变量才会返回false:0,null,"",undefined或NaN,其他的都返回true。我们来看看......