今天学习typescript的几种类型,在此记录总结,有不对的地方多多指正。
ts
typescript数据类型
JS基本数据类型有 number,string,boolean,undefined,null
JS引用类型:Array,Object,function
TS还新增了一些类型:元组、枚举、Any,Void,Never等
支持所有的JS数据类型。
因为ts是强类型语言,所以对于已给定的值的类型不能修改为其他类型,否则将报错。
var person = '张三';
person = 222
//这段代码如果执行将会报错
或者我们在定义时可以给他指定它的类型
let str:string = 'TS';
str = 999
//接下来的操作也会报错,因为我们已经给他指定它的类型,当然如果不写它会默认你赋值的类型、最好还是加上。
关于webpack与TS集成
第一步安装typescript,使用如下命令进行安装
npm install typescript ts-loader -D
第二步在webpack.config.js文件配置loader
{test:/.ts$/,exclude: /node_modules/,use:[‘ts-loader’]}
第三步使用 tsc --init 命令创建tsconfig.json文件
第四步配置模块化引入文件的类型
const config = {
//指定模式:production-生产环境,development:开发环境
mode: "development",
//项目的入口文件
entry: "./src/main.ts",
output: {
//设置项目的输出目录
path: path.resolve(__dirname, "dist"),
//输出的文件名
filename: "bundle.js" //chunk
},
//webpack通过loader识别文件的匹配规则
module: {
rules: [
{test:/\.ts$/,exclude: /node_modules/,use:['ts-loader']}
]
},
//配置模块化引入文件的缺省类型
resolve: {
extensions:['.js','.ts']
},
plugins: []
关于接口
interface Person {
readonly id: number;//只读属性,除了初始化赋值外,之后都不可赋值
name: string;
age?: number;//可选属性,初始化可有可无
[propName: string]: any;//任意属性的赋值,[propName: string]表示键名是字符串类型
}
let tom: Person = {
id:1997,//初始化赋值
name: 'Yan',
age:23,
gender: 1212
};