# zhihu-vue **Repository Path**: bing-cola/zhihu-vue ## Basic Information - **Project Name**: zhihu-vue - **Description**: vue3.0+ts - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-01 - **Last Updated**: 2021-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TypeScript 1. 安装:`npm install -g typescript` 2. 查看版本:`tsc -v` 3. 编译:`tsc helloworld.ts` => 生成 `helloworld.js` --- ### 基本类型 ```js let isDone: boolean = false; let age: number = 20; let name: string = 'bing'; let n: null = null; let u: undefined = undefined; // null和undefined是所有类型的子类型 let num: number = undefined; let obj :object = null; ``` ### any任意类型 ```js let notSure: any = 10; notSure = true; ``` ### 数组 ```js let arr: any[] = ['a', 1, true]; let arrOfNumbers: number[] = [1, 2, 3]; let strOfNumbers: string[] = ['a', 'b', 'c']; let booOfNumbers: boolean[] = [true, false, true]; ``` ### 元组 ```js let user: [string, number] = ['a', 1]; user.push('b'); ``` ### function ```js // 入参x,y必须是number z是可选的。add返回值也必须是number function add(x: number, y: number, z?: number): number { return x + y + z; } add(1, 2); ``` ### Interface 接口 ```js // 1.定义 interface Person { readonly id: number; // readonly 只读属性 name: string; age?: number; // ? 可选属性 } // 2.声名 let bing: Person = { id: 1, name: 'bing', age: 20, }; ``` ### 类型推论 ```js // 没有明确定义类型时,会推论出类型 let str = 'a'; str = 1; // 报错 不能将类型“number”分配给类型“string”。 ``` ### 联合类型 ```js // 声明n可以是number或string let n: number | string; n = 'a'; n = 1; ``` --- # vue-cli 1. 安装:`npm install -g @vue/cli` 或 `yarn global add @vue/cli` 2. 查看版本:`vue -V` 或 `vue --version` (4.5.11版本) 3. 创建项目:`vue create vue3-zhihu` --- 5-2