AST定位表达式

 常见的表达式

 1)BinaryExpression具有二进制运算符

2)CallExpression函数调用

3)条件表达式ConditionalExpression

 (1)     BinaryExpression具有二进制运算符的表达式。举例如下:

//BinaryExpression代表二元表达式
//样例 
const a = !![]+!![]+!![];
          (1)  (2)  (3)
//样例里边有两个二元表达式
//第一个
左边: !![]   +   右边: !![]+!![]
       (1)               (2)  (3)
//第二个
左边:  !![]   +   右边:  !![]
       (2)               (3)

常见的此类型node结构如下例:

 (2)     CallExpression函数调用,常见的格式

const b = Math.floor(12.34 * 2.12)

其中Math.floor(12.34 * 2.12)是CallExpression
CallExpression的结构如下
{  
    "type": "CallExpression",  
    //函数Math.floor
    "callee": {  
        //函数的赋值表达式
        "type": "MemberExpression",  
        //被调用的对象Math
        "object",
       //对象属性
        "property"
     },  
    //函数的参数12.34 * 2.12
    "arguments": []  
}  

 

 (3)条件表达式ConditionalExpression

const b = 20 < 18 ? '未成年' : '成年'

其中b = 20 < 18 ? '未成年' : '成年'是ConditionalExpression条件表达式
onditionalExpression的结构如下
{  
    "type": "ConditionalExpression",  
    //20 < 18判断条件
    "test": BinaryExpression,
    //左边的结果
    "consequent": StringLiteral , 
    //右边的结果
    "alternate":StringLiteral  
}  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值