我在coffeescript中有这些代码行:
useragent = if req and req.headers then req.headers['user-agent'] else ""
isIE = ~useragent.toLowerCase().indexOf('msie')
然而,这段代码在运行了几个月之后就开始抛出错误:
TypeError: Cannot call method 'toLowerCase' of undefined
关于可能出错的任何线索?
答案 0 :(得分:1)
req.headers['user-agent']
也可能未定义。请尝试以下方法:
useragent = req?.headers?['user-agent'] ? ''
isIE = 'msie' in useragent.toLowerCase()
如果找到,则假定用户代理将始终为字符串。否则,您需要明确检查类型。