End*_*ow8 1 javascript types type-conversion coercion type-coercion
JavaScript 是一种弱动态类型语言。我不介意动态类型,但是弱类型意味着当我最不期望的时候,意外的类型强制会带来很多挫败感。网上有很多文章声称可以解决这个问题,但它们都将弱类型与动态类型混淆,并提出了诸如 TypeScript 之类的解决方案。我想要一些更类似于 Python 类型行为的东西 - 动态类型变量,但没有隐式类型强制。有没有一种语言或库可以做到这一点?
不,事实并非如此,这就是构建Typescript的原因。
你的问题也有点与此重复。看看吧,你可能会找到一些答案;)
也就是说,你可以使用一个好的 IDE,甚至Visual Studio Code也尝试帮助他们进行Javscript 类型检查,值得一看。
这是一个小实现示例
//@ts-check
export class Dog {
/**
* @param {string} name
* @param {number} age
*/
constructor(name, age) {
super()
this.name = name
this.age = age
}
speak () {
console.log(`${this.name}: No! No more talk!`)
}
}
new Dog(7, 'Wez').speak() // <-- You should get an error here, it should be Dog('wez', 7)
Run Code Online (Sandbox Code Playgroud)
编辑
如果您确实想为网络拥有一种强类型语言,您可以:
| 归档时间: |
|
| 查看次数: |
4964 次 |
| 最近记录: |