JavaScript表达式与操作符


前言

主要介绍表达式与操纵符中常用的重要知识点


一、表达式

  1. 表达式即:可以被求值并产生一个值的JavaScript短语
  2. 主表达式即独立的,最简单的表达式。例如一个变量一个常量都是x, 3.14, y都是。主要包括字面值,关键字和变量引用

二、对象和数组初始化程序

  1. 数组字面量可以通过逗号包含未定义的元素,就是数组元素可以通过逗号不赋值
var arr = [1,,,,3];
  1. 对象与数组的规则相同

三、属性访问表达式

  1. 属性访问表达式访问对象的属性和数组的元素,由两种方式.操作符和[]操作符
  2. []注意:当参数为字符串时访问的是这个属性名为这个字符串的属性["name"],参数不是字符串,为变量时访问的是变量中保存的属性[name],假设name的值为jack,那访问的就是对象中属性名为jack的属性

四、条件式属性访问和条件式函数调用

  1. 怎么防止发生空指针异常,就JavaScript中的属性访问错误TypeError(ES2020新增)

可以加一个?.,例如obj?.name,obj?[name]如果对象为空不会报错,但结果是undefined,函数的调用也可以这么使用,语法一样fun?.()

  1. 使用?.只检查是否为null和undefined,不检查右边的是否存在。左边为空或者未定义。则短路,表达式返回undefined

五、操作符

  1. in,左侧是字符串(或者可以转成字符串),右侧是对象,左侧是右侧的属性名返回true,用in也可以测试是否有某个方法
  2. instanceof操作符与Java一致,但是它是在原型链上找
  3. &&在操作数是真性值或者假性值的时候,在哪里短路就返回哪个值("str" && "s" && null),返回null,因为在null短路()
  4. ||&&一样,操作数为真性值或者假性值时,在哪里短路就返回哪个值
  5. ??操作符
a ?? b  等价   (a  !== null && a!== undefined? a	: b
  1. delete操作符删除数组元素不会改变数组长度,删除对象属性则是直接删除

六、数据类型的转换

1.转成String

  1. 可用String()函数的形式转换,适用范围广。底层用的toString()
  2. 可用toString()方法转换,但是null,undefined没有这个方法

2.转成Number(方法一)

使用Number()函数

  1. Stirng转Number

(1)如果字符串式纯数字,则转成Number类型的数字
(2)如果字符串非纯数字,则转成NaN
(3)空串或者空格转换成0

  1. Boolean转Number

true转1,false转0

  1. Null转成Number结果为0
  2. undefined转成Number结果为NaN

3.转成Number(方法二)

作用:从混合字符串中提取数字,比如128px

  1. parseInt(),parseFloat(),注意这种提取方式提取规则是:遇到非数字的字符串停止,如果第一个字符串就是非数字,那么转为NaN
  2. 其他类型不建议使用这种方法,它实际上是先转成了String再使用的parseInt()

4.转成Boolean

  1. Number转Boolean:除了0和NaN是false,其他都是true
  2. String转Boolean:除了空串是false都是true
  3. Null,Undefined转Boolan:false
  4. Object转Boolean:true

补充

  1. 当出现独立的关键字是JavaScript会假设它是全局对象属性去查询它的值,如果没有,报错
  2. 一元操作符会将数据转换成数值类型。+,-,++,--

来自B站的笔记

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值