javascript条件式访问属性和箭头函数介绍


Posted in Javascript onNovember 17, 2021

一、条件式访问属性

?. 是ES2020引入的新特性,是一个条件式属性访问操作符,当你访问值为undefined变量的某个属性值时,如果使用.操作符会直接报错,如果使用条件式属性访问操作符来访问会返回undefined

看例子:

let book = {price:10,
            edition:10,
            name:"javascirpt"
}

console.log(book.page.num)

直接报错:

TypeError: Cannot read property 'num' of undefined

因为book.page 的值 undefinedundefined是没有任何属性值的,所以会报错。

如果你无法确定某个值是undefined还是对象,除了可以用 if 语句来判断之外,还可以直接用条件式访问操作符来访问某个属性, 就算被访问的对象是undefined,也不会报错。而是返回 undefined

console.log(book.page?.num)

输出:

undefined

二、箭头函数介绍

箭头函数是ES6中出现的一种定义函数的简写方法, 用=>分隔参数列表和函数体。

例子:

let square = x=>x**2;

console.log(square(3))

输出:

9

这个函数的定义等价于传统函数:

function square(x){
    return x**2
}

箭头函数通常用于把一个未命名函数作为参数传给另一个函数。

let nums = [1,2,3,4].map(x=>x*2)

console.log(nums)

输出:

[ 2, 4, 6, 8 ]

箭头函数让代码看起来更简洁了。

如果使用传统的function关键字来定义函数,看起来就显得有点???/p>

nums = [1,2,3,4].map(function(x){return x*2})

console.log(nums)

箭头函数如果有多个参数,则需要使用括号括起来

const add = (x,y)=>x+y;

console.log(add(1,2))

如果箭头函数的函数体有多条语句,则要将函数体用大括号括起来,并用return关键字返回值

const add = (x,y)=>{let tmp=x+y;return tmp};

console.log(add(1,2))

这时候箭头函数的函数体和普通的function定义的函数体格式就完全一样了。所以箭头函数在简单的单行语句中才显得简洁,并具有可读性。一旦函数体过于复杂,再用箭头函数来定义可读性就没那么好了。

到此这篇关于javascript条件式访问属性和箭头函数介绍的文章就介绍到这了,更多相关javascript条件式访问属性和箭头函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jQuery在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
Apr 06 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
JavaScript Split()方法
Dec 18 Javascript
JavaScript探测CSS动画是否已经完成的方法
Aug 30 Javascript
JS实现批量上传文件并显示进度功能
Jun 27 Javascript
ES6 javascript中class类的get与set用法实例分析
Oct 30 Javascript
Angular4学习之Angular CLI的安装与使用教程
Jan 04 Javascript
p5.js入门教程之图片加载
Mar 20 Javascript
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
Nov 14 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
Feb 16 Javascript
JavaScript 对象创建的3种方法
Nov 17 #Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 #Javascript
JavaScript高级程序设计之基本引用类型
Nov 17 #Javascript
JavaScript高级程序设计之变量与作用域
javascript对象3个属性特征
详细聊聊浏览器是如何看闭包的
Vue3中的Refs和Ref详情
Nov 11 #Vue.js
You might like
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php学习笔记之基础知识
2014/11/08 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
php检查页面是否被百度收录
2015/10/28 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
DEFER怎么用?
2006/07/01 Javascript
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
JavaScript函数、方法、对象代码
2008/10/29 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
vue实现浏览器全屏展示功能
2019/11/27 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
Python中类型关系和继承关系实例详解
2015/05/25 Python
Python对文件操作知识汇总
2016/05/15 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
二年级语文教学反思
2014/02/02 职场文书
分家协议书
2014/04/21 职场文书
作文评语集锦大全
2014/04/23 职场文书
档案保密承诺书
2014/06/03 职场文书
供用电专业求职信
2014/07/07 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers