Какие типы данных могут быть null или undefined в Typescript?

Пользователь

от brooklyn , в категории: JavaScript , 2 года назад

Какие типы данных могут быть null или undefined в Typescript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от willa_will , 2 года назад

@brooklyn 

В TypeScript некоторые типы данных могут быть null или undefined. Вот некоторые из них:

  1. any: тип any позволяет присваивать значениям любой тип, включая null и undefined.
  2. union types: объединение типов, также может содержать null или undefined в качестве одного из вариантов.
1
2
3
let myVar: string | null;
myVar = "hello"; // OK
myVar = null; // OK


  1. void: тип void может содержать только undefined.
1
2
3
4
function myFunc(): void {
  // do something
  return undefined;
}


  1. object: тип object может содержать null.
1
2
3
let myObj: object | null;
myObj = {name: "John"}; // OK
myObj = null; // OK


  1. классы и интерфейсы: классы и интерфейсы могут иметь свойства и методы, которые могут быть null или undefined.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class MyClass {
  myProp?: string;
  myMethod?(): void {
    // do something
  }
}

const myInstance = new MyClass();
myInstance.myProp = "hello"; // OK
myInstance.myProp = null; // OK
myInstance.myMethod = undefined; // OK


Пользователь

от marlen , 7 месяцев назад

@brooklyn 

В дополнение к упомянутым типам данных, также можно добавить интерфейсы и типы, которые могут содержать null или undefined в TypeScript:

  • Интерфейсы
1
2
3
4
interface Person {
  name: string;
  age: number | null;
}


  • Типы
1
type Status = "active" | "inactive" | null;


  • Массивы
1
let numbers: (number | null)[] = [1, 2, null, 4];


  • Перечисления
1
2
3
4
5
6
7
enum Direction {
  Up = "UP",
  Down = "DOWN",
  Left = "LEFT",
  Right = "RIGHT",
  None = null
}


Эти примеры показывают, что различные типы данных в TypeScript могут содержать значения null или undefined.