JavaScript без лаптей та балалайки. Part 6-1. JS DataTypes. Weakly typed language.
1. Різні типи даних можуть бути навіть в межах реалізації одного стандарта (наприклад SQL99): MsSQL PostgeSQL MySQL 2. Приблизне порівняння .NET та JS типів даних, та головні відмінністі JS: на X64 JS завжди працює з 64-бітними словами (Розпаковка різних даних за допомогою 64-біт ArrayBuffer) у JS немає головних типів даних, звичних для програмістів на інших платформах у JS немає агрегатних типів даних Structure/Record для передачі їх як параметрів ByRef, немає явних ByVal/BuRef – але принципово існують методи захисту параметрів від Side-єфектів. JS – мова зі слабою тіпізацією, в залежністі від контеста ті сами змінні та синтаксичні конструкції можуть мігрувати у різні типи даних 3. Базові типи даних в JS та вбудовані в JS обьекти, що видають спеціфічні для JS типи даних. Null type Undefined type Boolean type Number type BigInt type String type Symbol type Dates Objects Indexed collections. Keyed collections. Other built-in objects (This, JSON, RegExp, ArrayBuffer, Iterator, Promise, Generator, Well-Known Symbols, SetTimeout та інші). 4. Старовинна табличка з JS3 про порівняння різних простих даних. Три типа порівнянь у JS. === точне, повний збіг по референсу та значенню == (правила) Object.IS 5. Правіла конвертації типів даних. Primitive coercion Numeric coercion Other coercions Number coersion Boolean coercion String coercion Object coercion 6. Приклади вбудованої конвертації: ValueOf може визначити навіть одне число як результат цілого класа конвертація різних JS-конструкцій в Boolean в операторі IF () 7. Що взагалі існує у різних основних типів даних згідно стандарту. Number String Symbol RegEx Date Collection BigInt 8. Ще види конвертації для різних типів операцій Boolean-конвертація ToString-конвертація ValueOf-конвертація ParseInt, ParseFloat Конвертація для Binary-Logic Конвертація для Bitwise-операцій = більше або равно ToPrimitive-управління конвертацією обьектів (На 1:53:54 помилка, там треба додати .CALL) 9. Typescript – единий засіб накласти обмеження на трансформації JS-типів. ------------------------- Why we speak Ukrainian? Because : свечка-печка совок-веник лапти-валенки медведь-балалайка попы и молитвы НКВД и Гулаг Пушкин и дедыНаПалках So, lets going: ----------------------- Part 1. • JavaScript без лаптей та балалайки. Ф... Part 2. • JavaScript без лаптей та балалайки. Ф... Part 3. • JavaScript без лаптей та балалайки. P... Part 4. • JavaScript без лаптей та балалайки. P... Part 5-1. • JavaScript без лаптей та балалайки. P...