为什么我在React Component中传递属性时不需要放字符串转义字符

时间:2018-11-21 04:58:12

标签: regex reactjs

我在React中创建了一个自定义组件,该自定义组件接受正则表达式作为props。像这样-

<CustoInput label='Email Id' width={{width:'50%'}} 
    regex='^[A-Z0-9]+@[A-Z]+\.[A-Z]{2,3}$'
    msg='*   Improper format'/>

通常在javascript中,我需要放置一个转义字符,并且如果将其作为变量传递,则表达式应如下所示-

'^[A-Z0-9]+@[A-Z]+\\.[A-Z]{2,3}$'

但是在反应中,当我传递像这样的props值时,不需要转义字符并且它可以正常工作。

那是为什么?

1 个答案:

答案 0 :(得分:2)

因为\是JavaScript字符串文字的转义字符(因此需要转义以指定文字反斜杠);尽管它在HTML中没有任何特殊意义(因此被视为任何常规字符)。相反,您可能需要转义&(例如&amp;),而无需在JavaScript中转义。