Friday, December 5, 2025

"JavaScript полное руководство: Справочник по самому популярному языку программирования 7-е изд" Флэнаган Дэвид

 


Заметки из книги:

Функция - это именованный и параметризованный блок кода JavaScript, который вы определяете один раз и затем можете вызывать снова и снова.”

“В ES6 и последующих версиях имеется сокращенный синтаксис для определения функций. В этом кратком синтаксисе для отделения списка аргументов от тела функции используется =>, а потому функции, определенные подобным образом, известны как стрелочные функции (arrow function). Стрелочные функции чаще всего применяются, когда нужно передать неименованную функцию в качестве аргумента другой функции.”

“Когда мы применяем функции с объектами, то получаем методы… (Когда функции присваиваются свойствам объекта мы называем их “методами”)”

Литерал — это значение данных, находящееся прямо в программе…”

Идентификатор - это просто имя. Идентификаторы в JavaScript применяются для именования констант, переменных, свойств, функций и классов, а также для того, чтобы снабдить метками некоторые циклы в коде JavaScript.”

“Типы JavaScript можно разделить на две категории: элементарные типы и объектные типы. Элементарные типы JavaScript включают числа, строки текста (называемые просто строками) и булевские истинностные значения (называе-мые просто булевскими).”

“Специальные величины null и undefined в JavaScript относятся к элементарным значениям, но не являются числами, строками или булевскими значе-ниями.”

“В ES6 добавлен новый специализированный тип, известный как символ (Symbol), который делает возможным определение языковых расширений, не причиняя вреда обратной совместимости.”

“Любое значение JavaScript, которое отличается от числа, строки, булевского значения, символа, null или undefined, представляет собой объект. Объект (т.е. член типа Object) - это коллекция свойств, где каждое свойство имеет имя и значение (либо элементарное значение, либо другой объект).”

“Основной числовой тип JavaScript, Number, служит для представления целых чисел и аппроксимации вещественных чисел.”

“В ES2016 добавляется ** для возведения в степень.”

“Если такие аппроксимации с плавающей точкой проблематичны для ваших программ, тогда обдумайте применение масштабированных целых чисел. Например, вы можете манипулировать денежными величинами как целочисленными центами, а не дробными долларами.”

“B JavaScript определен простой класс Date для представления и манипулиро-вания числами, которые представляют дату и время. Экземпляры класса Date являются объектами, но они также имеют числовое представление в виде отметок времени, которые указывают количество миллисекунд, прошедших со дня 1 января 1970 года”

“В качестве типа JavaScript для представления текста применяется строка. Строка — это неизменяемая упорядоченная последовательность 16-битных значений, каждое из которых обычно представляет символ Unicode. Длиной строки является количество содержащихся в ней 16-битных значений. Строки (и массивы) в JavaScript используют индексацию, начинающуюся с нуля: первое 16-битное значение находится в позиции 0, второе — в позиции 1 и т.д. Пустая строка — это строка с длиной 0.”

“в ЕSб строки являются итерируемыми, и применение цикла for/of или операции . . . со строкой приведет к проходу по действительным символам строки, а не по 16-битным значениям.”

“Чтобы включить строку в программу JavaScript, просто поместите символы строки внутрь совпадающей пары одинарных, двойных или обратных кавычек (', " или `).”

“Одним из встроенных средств JavaScript является возможность конкатенации строк. Если операция + применяется с цифрами, то она складывает их.”

“Строки можно сравнивать с помощью стандартных операции равенства === и неравенства !==: две строки равны, если и только если они содержат в точности одну и ту же последовательность 16-битных значений. Строки также можно сравнивать с применением операций <, <=, › и >=.”

“Не забывайте, что строки в JavaScript неизменяемы. Методы вроде replace() и toUpperCase() возвращают новые строки: они не модифицируют строку, на которой вызываются.”

“значениям) строки вместо вызова метода charAt() разрешено применять квадратные скобки: S[0]

“В ES6 и последующих версиях строковые литералы могут ограничиваться обратными кавычками: let s = 'hello world';

“Однако это больше, чем просто еще один синтаксис строковых литералов, поскольку такие шаблонные литералы (template literal) могут включать произвольные выражения JavaScript.”

“Все, что расположено между символами ${и соответствующим символом}, интерпретируется как выражение JavaScript.”

“В ES6 имеется одна встроенная теговая функция: String.raw(). Она воз-вращает текст внутри обратных кавычек, не обрабатывая управляющие символы в обратных кавычках: String.raw'\n'.length // => 2

“B JavaScript определен тип данных, который называется регулярным выражением (regular expression, или RegExp) и предназначен для описания и сопоставления с шаблонами в строках текста.”

“Объекты RegExp определяют ряд полезных методов, а строки имеют методы, которые принимают аргументы RegExp, например:”

“Булевское значение представляет истинность или ложность, “включено” или “выключено”, “Да” или “нет”. Существует только два возможных значения этого типа, которые представлены с помощью зарезервированных слов true и false.”

“любое значение JavaScript может быть преобразовано в булевское значение. Показанные ниже значения преобразуются и потому работают подобно falseundefinednull0-0NaN"" (пустая строка)”

“Все остальные значения, включая все объекты (и массивы) преобразуются и потому работают как true. Временами значение false и шесть значений, которые в него преобразуются, называют ложными, тогда как все остальные значения - истинными.”

null — это ключевое слово языка, оцениваемое в особое значение, которое обычно применяется для указания на отсутствие значения. Использование операции typeof на null возвращает строку "object", указывая на то, что null можно считать особым объектным значением, которое служит признаком “отсутствия объекта”.”

“В JavaScript есть и второе значение, которое указывает на отсутствие значения. Значение undefined представляет более глубокий вид отсутствия. Это значение переменных, которые не были инициализированы, и то, что получается при запрашивании значений свойств объекта или элементов массива, которые не существуют. Значение undefined также является возвращаемым значением Функций, явно не возвращающих значение, и значением параметров функций, для которых аргументы не передавались.”

“Если вы примените к значению undefined операцию typeof, то она возвратит "undefined", указывая на то, что оно - единственный член специального типа.”

“Я полагаю, что undefined предназначено для представления системного, непредвиденного или похожего на ошибку отсутствия значения, а null — для представления программного, нормального или ожидаемого отсутствия значения.”

“Символы были введены в ES6, чтобы служить нестроковыми именами свойств. Для понимания символов вы должны знать, что фундаментальный тип Object в JavaScript определен как неупорядоченная коллекция свойств, где каждое свойство имеет имя и значение. Именами свойств обычно (а до ES6 единственно) являются строки. Но в ЕS6 и последующих версиях для такой цели можно использовать символы:”

No comments:

Post a Comment

"JavaScript полное руководство: Справочник по самому популярному языку программирования 7-е изд" Флэнаган Дэвид

  Читай БЫСТРЕЕ с лучшим пониманием (промо) Заметки из книги: “ Функция  - это именованный и параметризованный блок кода JavaScript, которы...