在TypeScript中,什么时候使用“let”,什么时候使用“const”?在TypeScript中,什么时候使用“let”,什么时候使用“const”?
回答
const
代表constant
,这表示变量不能在以后重新分配。
let
类似于var
除了它是块作用域,这意味着它可以在for
环的内部被声明,并且将是本地的该for
循环体(和为此不外面它存在)
后者与var
变量不同,后者可以在任何地方声明,但始终是函数作用域的局部变量。
一般来说,尝试尽可能地将您的变量定义为const
是一种很好的做法。
值得注意 - 这不仅仅是针对TypeScript,而是针对JavaScript,因为现在ECMAScript 2015是标准。 –
@AdrianWydmanski我会进一步说,它适用于任何提供'const' /'let'或'val' /'var'或'final'/not的语言。 – ssube
正如我在此期间做几乎排他性的功能编程,我发现const
和let
之间的命运很无用。 我永远不会重新赋值给名称。从不 - 不管语言。
话虽如此,我觉得使用有问题,原因有两个。
const
比let
长(不认真!)const
排序的通信回:嘿!我不断,但事实并非如此(当然是,但是...)我有多次的同事说是完全惊讶
,这是可能
const x = { foo: "bar" }
x["foo"] = "Not bar!"
确保名称和它的引用是const,但引用的对象不是。在打字稿就算你至少可以创造
type ROO = Readonly<SomeType>
const x: ROO = someReferenceValue
x.someProp = "A wanna be a bar!" //compile error
所以对于打字稿const
最后可能意味着const
你的第二点是正确的TypeScript是错误的,建议所有变量都使用'const',除非需要重新赋值(参见:https://www.typescriptlang.org/docs/handbook/variable-declarations.html let vs const),因为在大多数编程语言中这不是常数。 ECMA6的例子都有“期望”的用法(const pi = 3.14159) - 我们可以想象所有的常量在编译时被原始值所替代。使用'const'作为变量是矛盾的。 TypeScript应限制ECMA6的用法,以阻止将'const'应用于复杂类型。 –
- 1. 什么时候应该在TypeScript中使用“var”,“let”和“const”
- 2. 什么时候我们使用let rec?
- 3. 什么时候应该使用const?
- 4. 什么时候应该使用let {},什么时候只是简单的!= null
- 5. 什么时候使用__proto__和什么时候使用原型
- 6. 什么时候应该使用AWS,什么时候不使用
- 7. intn_t什么时候使用它,什么时候不使用
- 8. 什么时候使用Ruby和什么时候使用PHP
- 9. 什么时候使用ByteString,什么时候不使用?
- 10. 什么时候应该使用async/await,什么时候不用?
- 11. 什么时候使用for-each和什么时候在xslt中使用apply-templates?
- 12. 什么时候使用sIFR?
- 13. 什么时候使用MessageDigest.reset()
- 14. 什么时候使用VK_IMAGE_LAYOUT_GENERAL
- 15. 什么时候使用SVDRecommender
- 16. JOINS什么时候使用?
- 17. 什么时候使用SpringApplicationBuilder?
- 18. 什么时候使用StringIO?
- 19. 什么时候使用Dispose
- 20. Railties - 什么时候使用
- 21. 什么时候使用uncaught_exception?
- 22. 什么时候使用ANTLR
- 23. 什么时候使用vtable?
- 24. SQL Server CASE什么时候不使用CASE什么时候
- 25. ZF2什么时候使用getServiceLocator()什么时候不到
- 26. 什么时候使用GWT,什么时候不需要
- 27. 什么时候在Django中使用“AbstractBaseUser”?
- 28. 什么时候在javascript中使用'return'
- 29. 什么时候在swift中使用respondsToSelector?
- 30. 什么时候在C#中使用类?
您使用'const',除非你知道你在以后更改值,并有一个该死的好理由。 – ssube
我想在声明变量时使用它们。 – 4castle