Явное привидение типов в JS

Я недавно начал изучать JS. До этого учил python. В python были такие строчки name_var: int или name_var: str. Эти строки говорят нам, что name_var имеет тип данных int или str соответственно. Или же в PostgreSQL name_var::int или name_var::text. А что же с JS? Как мне указать что я ожидаю в функции именно строковое значение. Или как я буду сравнивнивать переменные как я делал это в python благодаря функции isinstance().


Ответы (2 шт):

Автор решения: Iurii

В JS никак, welcome to динамическая типизация. В TypeScript можно.
Здесь уже спрашивали: Как задать тип переменной в js?

→ Ссылка
Автор решения: Eugene X

В самом JavaScript нету такого понятия как строгая типизация, проверить тип можно через typeof(variable) === "string" для простых переменных или objectVar istanceof Array для объектов.

function MyClass(name) {
  if (!(this instanceof MyClass)) throw new Error("Sorry not an class");
  if (typeof(name) !== "string") throw new Error("First param must be string");
  this.name = name;
}

MyClass.prototype.getName = function() {
  return this.name;
}

Так-же есть некая надстройка над JS, используется очень часто в крупных проектах и активно поддерживается JavaScript сообществом - TypeScript https://www.typescriptlang.org/ .

function Hello(name: string): number {
    console.log("Hello ", name);
    return 1;
}
→ Ссылка