Skip to content

MokhovEvgeniiGennadevich/2023-same-in-languages

Repository files navigation

Одинаковое в языках программирования

English

JavaScript

Смотреть

Илья Климов

Не смотреть

Минин

Описание языка

Современный скриптовый (встраиваемый язык) программирования. Т.е. это язык, который сам по себе существовать не может. Он обязательно встраивается в какую-то host-среду и существует исключительно благодаря API. Невозможно просто взять язык JavaScript и на нём самостоятельно что-то написать, не существует виртуальной машины, которая бы вам позволила это сделать. У вас обязательно должна быть какая-то host среда (браузер, Node JS). По большому счету любой человек может взять и собрать себе свой любимый JavaScript создав host среду.

Огромная проблема у начинающих вызывает дифференциации того, что непосредственно относится к самому языку JavaScript а что к API управляемой host средой. Например тот же setTimeOut это не в JavaScript, а host-среда. Браузер берёт стандарт HTML 5 и именно в стандарте HTML 5 описано поведение этого API. NodeJS предоставляет такой же API, но даёт иной вариант взаимодействия, нежели тот, что предоставляет браузер с HTML 5. Несмотря на то, что в NodeJS это постарались сделать максимально совместимо.

Самое важное отличие скриптового языка от любого другого это то, что в этом языке нет своего ввода-вывода. На чистом JavaScript без использования какого-либо API вы не можете откуда-то получить данные и куда-то эти данные отправить.

JS: Блочная (if else try catch {}) Глобальная Функциональная (funct)

Глобальные Локальные

?? pups -> A0FF9CB chups -> A0FF9CB

JS: все примитивы иммутабельны, мутабельны обычные объекты, массивы, функции и тд Типы данных JS: Inf.

  1. Объект
  2. Примитивы string number bool null undefined NaN Иммутабельные Мутабельные

document.write( ("b" + "a" + +"a" + "a").toLowerCase() );

  console.log("b" + "a" + +"a" + "a");

number +-

const Object = { // свойство Class private protected x: 1

// Method: OOP Class function set }

Object.x = 2; Object['x'] = 2;

let foo = "bar" let bar = foo

pups A0FF9CB chups A0FF9CB

Python let bar = foo.copy()

Что надо сделать во вью чтобы отключить реактивность?

!== ==!

!= =!

===

<>

= <=

Как сравнить 2 объекта у которых свойства не в одинаковом порядке?

[1, "apple", 3] === [1, "apple", 3] false ? потому что это не приметивы и JS их сравнивает по ссылкам

cmp compare

Замыкание?

const a = () => {console.log(this)}; a(); Тут мы вырывыемся из функции в движок V8? И нам доступен огромный мир JS'a

this внутри функции помогает вырваться из контекста текущей функции в контекст вызвавшей её функции

defineProperty() ???

...props - это rest оператор, как он работает? spread ... name(...rest) {return [...spred]}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published