博客
关于我
TypeScript知识点简单汇总
阅读量:327 次
发布时间:2019-03-04

本文共 2942 字,大约阅读时间需要 9 分钟。

数据类型是 JavaScript 中的核心概念,它决定了变量的类型和值的范围。以下是 JavaScript 中常见的数据类型及其使用方法。

1. 基本数据类型

  • string: 用于表示字符串。可以使用单引号或双引号包裹文本。
    let s: string = "Hello, World!";
  • number: 用于表示数值,可以是整数或浮点数。
    let n: number = 3.14;
  • boolean: 用于表示布尔值,truefalse
    let b: boolean = true;
  • nullundefined: 分别表示缺失值。
    let variable: string;variable = null; // 变量被赋值为 null
  • symbol: 用于表示独特的标识符,常用于避免命名冲突。
    const symbol: symbol = Symbol('mySymbol');

2. 数组

数组是数据类型的扩展,用于存储多个同一类型的元素。

// 创建字符串数组let arr1: string[] = ['a', 'b', 'c'];// 创建数值数组let arr2: Array
= [1, 2, 3, 4, 5];// 创建元祖let tuple: [string, number] = ['a', 1];// 创建带有联合类型的数组let arr3: (string | number)[] = ['a', 1];// 使用 any 类型创建灵活数组let anyList: any[] = ['a', 1, true];

3. 枚举

枚举类型允许代码更安全地处理常量。

enum Directions {    left = 2,    right,    top,    bottom}console.log(Directions.top); // 输出: topconsole.log(Directions[2]); // 输出: left

4. 对象

对象是 JavaScript 中用于创建复杂数据结构的核心。

interface LabelledValue {    label: string;}function printLabel(labelledObj: LabelledValue) {    console.log(labelledObj.label);}let myObj = { size: 10, label: "Size 10 Object" };printLabel(myObj);

5. 函数

函数是 JavaScript 中的核心概念,用于定义代码逻辑。

function add(x: number, y: number): number {    return x + y;}let myAdd = function(x: number, y: number): number {    return x + y;}

6. 类

类与接口结合使用,用于构建复杂的对象结构。

class Person {    name: string;    age: number;    constructor(name: string, age: number) {        this.name = name;        this.age = age;    }    getName(): string {        return this.name;    }}

7. 抽象类

抽象类是类的一种特殊形式,用于定义抽象属性和方法。

abstract class Animal {    abstract type: string;    name: string;    constructor(name: string) {        this.name = name;    }    abstract getType(): string;    getName(): string {        return this.name;    }}class Dog extends Animal {    type: string;    constructor(name: string, type: string) {        super(name);        this.type = type;    }    getType(): string {        return this.type;    }}

8. 接口

接口用于定义对象的公共属性和方法的契约。

interface Girl {    name: string;    age: number;    loveYou(): void;}class GrilFriend implements Girl {    name: string;    age: number;    constructor(name: string, age: number) {        this.name = name;        this.age = age;    }    loveYou(): void {        console.log("Her name is " + this.name + ", her age is " + this.age);    }}let gf = new GrilFriend("Linda", 28);gf.loveYou();

9. 泛型

泛型是 JavaScript 中的高级特性,用于创建可扩展的函数和类。

// 泛型函数function showData
(person: T): T { return person;}showData
("Lucy");// 泛型函数接口interface GenericIdentityFn { (arg: T): T;}function identity(arg: T): T { return arg;}let myIdentity: GenericIdentityFn = identity;

10. 泛型类

泛型类允许类的实例部分使用任意类型。

class GenericNumber
{ zeroValue: T; add: (x: T, y: T) => T;}let myGenericNumber = new GenericNumber
();myGenericNumber.zeroValue = 0;myGenericNumber.add = function(x, y) { return x + y;};

通过以上内容,可以清晰地了解 JavaScript 中的数据类型、函数、类和接口等核心概念,以及如何利用这些概念构建复杂的应用程序。

转载地址:http://movq.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | OpenCV中八种不同的目标追踪算法
查看>>
OpenCV与AI深度学习 | OpenCV图像拼接--Stitching detailed使用与参数介绍
查看>>
OpenCV与AI深度学习 | OpenCV如何读取仪表中的指针刻度
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(一) :直接拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(三):基于特征匹配拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(二) :基于模板匹配拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(四):基于Stitcher类拼接
查看>>
OpenCV与AI深度学习 | OpenCV快速傅里叶变换(FFT)用于图像和视频流的模糊检测(建议收藏!)
查看>>
OpenCV与AI深度学习 | SAM2(Segment Anything Model 2)新一代分割一切大模型介绍与使用(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | T-Rex Label !超震撼 AI 自动标注工具,开箱即用、检测一切
查看>>
OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
查看>>
OpenCV与AI深度学习 | YOLOv10在PyTorch和OpenVINO中推理对比
查看>>
OpenCV与AI深度学习 | YOLOv11来了:将重新定义AI的可能性
查看>>
OpenCV与AI深度学习 | YOLOv8自定义数据集训练实现火焰和烟雾检测(代码+数据集!)
查看>>
OpenCV与AI深度学习 | YOLOv8重磅升级,新增旋转目标检测,又该学习了!
查看>>
OpenCV与AI深度学习 | 一文带你读懂YOLOv1~YOLOv11(建议收藏!)
查看>>
OpenCV与AI深度学习 | 五分钟快速搭建一个实时人脸口罩检测系统(OpenCV+PaddleHub 含源码)
查看>>
OpenCV与AI深度学习 | 什么是 COCO 数据集?
查看>>
OpenCV与AI深度学习 | 低对比度缺陷检测应用实例--LCD屏幕脏污检测
查看>>
OpenCV与AI深度学习 | 使用 MoveNet Lightning 和 OpenCV 实现实时姿势检测
查看>>