use*_*495 3 typescript tslint angular
tslint no-var-keyword(“禁止的‘var’关键字”)的目的是什么?tslint 似乎在我的代码中每次出现 var 关键字时都会记录一个错误。tslint 是否说明应在 ng2 中无条件排除 var 关键字?如果是,那为什么?
此处记录了规则及其基本原理https://palantir.github.io/tslint/rules/no-var-keyword/
使用 var 声明变量有几个边缘情况行为,这使得 var 不适合现代代码。var 声明的变量以其父函数块为作用域,忽略其他控制流语句。vars 有声明“提升”(类似于函数)并且可以在声明之前使用。
由 const 和 let 声明的变量的作用域是定义它们的块,并且不允许在声明之前使用或用另一个 const 或 let 重新声明。
针对您的第二个问题,这与 Angular、ng2 或任何其他版本无关。这是一个打字稿问题。是的,他们试图让你var完全放弃,支持let和const。
let 和 var 的区别在于作用域。您必须在使用前进行声明,并且可以在嵌套范围内重新声明。在 TS 中,您也可以借此机会声明不同的类型,尽管我不认为这是一种编程风格。
Gre*_*eek -2
'var' 已被弃用,取而代之的是 'let'。
前者创建一个全局变量,这通常被认为是不好的做法,而后者创建一个作用域变量。
因此,默认情况下,lint 强制使用作用域变量。
| 归档时间: |
|
| 查看次数: |
1595 次 |
| 最近记录: |