为什么源码中采用了 ASCII码 来判断?
来源:2-2 new Vue 发生了什么

Arey_jy
2018-06-30
```
/**
* Check if a string starts with $ or _
*/
export function isReserved (str: string): boolean {
const c = (str + '').charCodeAt(0)
// ASCII码
return c === 0x24 || c === 0x5F
}
```
使用 字符串直接比较,性能不是更快吗?作者为什么要这样处理?而且语义化也不好。
写回答
1回答
-
ustbhuangyi
2018-06-30
性能差别不大,单次比较没有意义,你可以用字符串去实现同样的函数去循环 10000 次调用,比对时间。而且你这个是跑在 chrome 浏览器的,JS 引擎不同可能结果也不一样,所以你的更快结论是没有说服力的。至于为什么一定要这么写,我也并不清楚了。
012018-06-30
相似问题