- 1、关于a标签的使用问题,在编写跳转或是其他的「进一步」操作时需要进行甄别。倘若a标签所将要执行的职能涉及了用户信息,那么需要谨慎使用,需要在标签属性中添加 「rel=”noopener”」。
- 补:假设在标签中没有添加该属性,那么在新跳转的网页,「新网页可以通过window.opener来访问原网页的window对象」。这样在新窗口中就可以向原有的窗口插入恶意内容实现钓鱼攻击。并且可以通过window.opener.location = new url来将原有窗口进行恶意导向。
- 2、关于接口(interface)编写,对于不同的信息需要进行甄别。Enum(元组)需要定义在前。
- 3、对于TypeScript与JavaScript区别。
- 4、Mobx-react
1、关于a标签的使用问题,在编写跳转或是其他的「进一步」操作时需要进行甄别。倘若a标签所将要执行的职能涉及了用户信息,那么需要谨慎使用,需要在标签属性中添加 「rel=”noopener”」。
补:假设在标签中没有添加该属性,那么在新跳转的网页,「新网页可以通过window.opener来访问原网页的window对象」。这样在新窗口中就可以向原有的窗口插入恶意内容实现钓鱼攻击。并且可以通过window.opener.location = new url来将原有窗口进行恶意导向。
故而如果是在编写与业务相关性较大的事件时,需要谨慎使用a标签,或者用更好地方法——自己封装组件。
注:不论是noreferrer还是noopener,对于SEO来说,都是没有什么影响的。由于现在用处不大,后继再进一步了解。
2、关于接口(interface)编写,对于不同的信息需要进行甄别。Enum(元组)需要定义在前。
3、对于TypeScript与JavaScript区别。
- TypeScript被真正执行前,会通过编译转换生成Js,之后才能别解释。且TypeScript属于强类型语言,有更好的IDE支持,包括语法和编译时错误信息。且在TypeScript中有接口继承规范等,更加严谨。
4、Mobx-react
- 对于Mobx-react 的用法上,个人理解就是对于@observable与@action的协调使用。由@action中定义的事件在发生改变时,它会进行响应,并作出对原状态的修改。
