typescript的基础知识和一些注意事项

typescript是微软开发的,是JavaScript的超集,遵循es6规范
2016年发布的angular 2框架 是由typescript编写的,这门语言是由微软和谷歌在背后支持
typescript的优点
支持es6规范
强大的IDE检查 (类型检查,语法提示,重构)
angular 2框架的语言(能更好的学习angular 2)
vscode 自动编译ts文件
tsc -init 初始化 建立typescript.json
第二步:打开tsconfig.json文件修改和删除相应配置(若是想快速修改配置,请复制下列配置)
”target” : 编译为什么种规范,通常设置为 ES5 或者 ES2016/2017
“outdir” : 输出目录
“alwaysStrict” : 打开严格模式 (‘use strict’)
{
"compilerOptions": {
"target": "es5",
"noImplicitAny": false,
"module": "amd",
"removeComments": false,
"sourceMap": false,
"outDir": "js"//你要生成js的目录
}
}java

第三步:打开VSCode进入该目录,按下 Ctrl+shift+B 快捷键会进行编译,初次编译会选择编译模式(自行编写.ts文件测试)
注意:
监视模式 是每当TS文件有变更就会自动编译,构建模式是手动命令编译时才会去编译,这里选择监视模式es6

访问修饰符
跟java相似,TypeScript的访问修饰符有三个,分别是public、private、protected 。
TypeScript的默认访问修饰符是public。
1)public 声明的属性和方法在类的内部和外部均能访问到。
2)protected 声明的方法和属性只能在类的内部和其子类能访问。
3)private 声明的方法和属性只能在其类的内部访问。typescript

readonly修饰符
使用readonly关键字会将属性设置为只读的。 只读属性必须在声明时或构造函数里被初始化。且值不能不能被修改,和const相似。
最简单判断该用readonly仍是const的方法是看要把它作为变量使用仍是作为一个属性。 作为变量使用的话用 const,若作为属性则使用readonly。json

存取器(Getter And Setter)
TypeScript中的存取器就相似与java中set和get方法,只不过调用的方式不同。好比在一个类中咱们将其中一个属性用private修饰,那么,在类的外部就没法访问到该属性,这个时候咱们能够经过getters/setters来封装一下,以便在类的外部去访问该属性。须要注意的是,只带有 get不带有set的存取器自动被推断为readonly。也就是说,若是只写get但没有set的话,咱们是不能更改值的。框架

注意事项
(1)在引用.tsx文件的时候,不须要后缀名。而引用.jsx文件的时候,要加上后缀名。
(2)在.tsx中导入React须要使用import * as React from ...,不能使用import React from ...,
为tsconfig.json > compilerOptions增长allowSyntheticDefaultImports选项为true能够解决这个问题,
可是vs code仍是会标红(重启vs code可解决)。
(3).jsx能识别.jsx和.tsx的默认导出,
.tsx能识别.tsx的默认导出,可是不能识别.jsx的默认导出
(4) 为了能让TypeScript识别导入JavaScript模块中变量的类型,还要为模块添加.d.ts文件。函数

相关文章
相关标签/搜索