标签:name JavaScript 访问 操作符 数组 表达式 属性
文章目录
前言
主要介绍表达式与操纵符中常用的重要知识点
一、主表达式
- 主表达式即独立的,最简单的表达式。例如一个变量一个常量都是
x
,3.14
,y
都是。主要包括字面值,关键字和变量引用
二、对象和数组初始化程序
- 数组字面量可以通过逗号包含未定义的元素,就是数组元素可以通过逗号不赋值
var arr = [1,,,,3];
- 对象与数组的规则相同
三、属性访问表达式
- 属性访问表达式访问对象的属性和数组的元素,由两种方式
.
操作符和[]
操作符 []
注意:当参数为字符串时访问的是这个属性名为这个字符串的属性["name"]
,参数不是字符串,为变量时访问的是变量中保存的属性[name]
,假设name的值为jack,那访问的就是对象中属性名为jack的属性
四、条件式属性访问和条件式函数调用
- 怎么防止发生空指针异常,就JavaScript中的属性访问错误
TypeError
(ES2020新增)
可以加一个’ ? ',例如
obj?.name,obj?[name]
如果对象为空不会报错,但结果是undefined,函数的调用也可以这么使用,语法一样fun?.()
- 使用
?.
只检查是否为null和undefined,不检查右边的是否存在。左边为空或者未定义。则短路,表达式返回undefined
五、操作符
in
,左侧是字符串(或者可以转成字符串),右侧是对象,左侧是右侧的属性名返回true
,用in也可以测试是否有某个方法instanceof
操作符与Java
一致,但是它是在原型链上找&&
在操作数不是布尔值是真性值或者假性值的时候,在哪里短路就返回哪个值("str" && "s" && null)
,返回null,因为在null短路||
与&&
一样,操作数为真性值或者假性值时,在哪里短路就返回哪个值??
操作符
a ?? b 等价 (a !== null && a!== undefined)? a : b
delete
操作符删除数组元素不会改变数组长度,删除对象属性则是直接删除
补充
- 当出现独立的关键字是JavaScript会假设它是全局对象属性去查询它的值,如果没有,报错
- 一元操作符会将数据转换成数值类型。
+,-,++,--
标签:name,JavaScript,访问,操作符,数组,表达式,属性 来源: https://blog.csdn.net/weixin_52159312/article/details/120654163
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。