0%

基础类型

定义数组

let list: number[] = [1, 2, 3] // 元素类型后面接上 []
// 或者 数组泛型
let list: Array<number> = [1, 2, 3]

元组类型

它允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。

let x: [string, number] // 数组长度为2,第一个为字符串,第二个是数字
// Initialize it
x = ['hello', 10] // OK
// Initialize it incorrectly
x = [10, 'hello'] // Error

当访问一个越界的元素,会使用联合类型替代

x[3] = 'world' // OK, 字符串可以赋值给(string | number)类型

console.log(x[5].toString()) // OK, 'string' 和 'number' 都有 toString

x[6] = true // Error, 布尔不是(string | number)类型
阅读全文 »

通过 Uni-App CLI 命令行工具构建的项目

在项目中安装依赖包

yarn add miniprogram-ci -D

在使用过程中,可能会遇到报错。在我的 Case 中需要自己手动安装其他的依赖包

yarn add @vue/babel-preset-app -D
阅读全文 »

原始类型、引用类型

原始类型:undefinednullbooleanstringnumbersymbol

typeof null === 'object' 是一个历史悠久的 bug,因为 000 开始表示对象, null 也是全零

原始类型存储的是值,引用类型存储的是指针

typeof 可以判断除了 null 以外的原始类型。 instanceof 可以判对象的正确类型,但是不能判断原始类型,因为它是通过原型链去判断的。

阅读全文 »

NodeJS

.npmrc 配置

registry=https://registry.npm.taobao.org/
sass_binary_site=https://npm.taobao.org/mirrors/node-sass
chromedriver_cdnurl=https://npm.taobao.org/mirrors/chromedriver
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs
electron_mirror=https://npm.taobao.org/mirrors/electron

该文件的一般路径为:~/.npmrc

阅读全文 »

import { getToken } from '@/util/auth'
/**
 * 心跳基类
 */
export class Heart {
  HEART_TIMEOUT = null // 心跳计时器
  SERVER_HEART_TIMEOUT = null // 心跳计时器

  constructor() {
    this.timeout = 5000
  }
  // 重置
  reset() {
    clearTimeout(this.HEART_TIMEOUT)
    clearTimeout(this.SERVER_HEART_TIMEOUT)
    return this
  }
  /**
   * 启动心跳
   * @param {Function} cb 回调函数
   */
  start(cb) {
    this.HEART_TIMEOUT = setTimeout(() => {
      cb()
      this.SERVER_HEART_TIMEOUT = setTimeout(() => {
        cb()
        // 重新开始检测
        this.reset().start(cb())
      }, this.timeout)
    }, this.timeout)
  }
}
阅读全文 »