08 августа 2015 в записи Eloquent JavaScript, типы, javascript

На самом деле шесть. :) Не буду описывать все с нуля, только интересные подробности.

  • числа: обычно они описываются как 64-битные значения с плавающей запятой. Из этого вы можете эффективно использовать только 52 бита[1]. 11 зарезервировано для хранения десятичной точки, а 1 зарезервировано для знака числа. Он поддерживает показатели степени (2e3) и дроби (9,81).
  • строки: нельзя хранить в нескольких строках.
  • Булевы: для них есть 3 логических оператора И, ИЛИ, НЕ (где XOR?). Приоритет выглядит следующим образом: || это самый низкий, &&, затем сравнение(‹‹=››=== и т. д.), затем все остальное.
  • функции: это фрагмент кода, заключенный в значение (правда, красиво?!). Функции не вызываются, а вызываются или применяются в js. Значения, данные функциям, являются аргументами или параметрами.
  • undefined: переменная, указывающая на большое ничто (в то время как null означает: переменная указывает на эту точку, а там ничего нет)
  • Объекты: будут подробно рассмотрены позже.

Другие вещи, о которых я узнал

  • Дональд Кнут: создатель TeX; Почетный профессор Стэнфордского университета, автор нескольких хороших книг.
  • ECMAScript: это язык, который используется для стандартизации требований JavaScript. Текущая версия — ES6.
  • Приоритет арифметического оператора: % находится на том же уровне, что и * и /. :)
  • Дробь: это хорошо видно на изображении — простите, языковой барьер. :)

  • Показатель: изображение. :)

  • выражения: отдельный фрагмент кода, который создает значение.
  • операторы: операторы учитываются, если они изменяют мир (внешнее/внутреннее состояние программы и т. д.). Это больше, чем выражение, но может содержать выражения.
  • побочный эффект: изменение, вызванное утверждением. (Никогда не слышал об этом раньше)
  • Имена переменных: допускаются числа, но не могут начинаться с цифры. $ разрешено везде.
  • NaN: можно проверить только с помощью isNaN(). Что такое isNan? :оо
  • || обманывает. :) Он либо возвращает true, если левое значение истинно при преобразовании в логическое значение, в противном случае возвращает значение его правой части.

Забавные факты

  • goto существует в JS, и это зарезервированное ключевое слово.
  • Дональд Кнут платит один шестнадцатеричный доллар (2,56 доллара), если вы найдете ошибку в одной из его книг.
  • переменная $_$ = 0; является действительным. :D
  • NaN == NaN ложно. ФМЛ.
  • typeof NaN на самом деле является числом. Торт ложь.

Вещи, чтобы углубиться в

  • специальные (с обратной косой чертой) символы в JavaScript?
  • подумайте: генерировать строку кода (!) без выражения?
  • зарезервированные ключевые слова js: переходный процесс собственного пакета отладчика по умолчанию с
  • среда против контекста? есть разница?
  • аргументы функции против параметров функции? есть разница?
  • Почему NaN == NaN = false?
  • Почему 52-битное число с плавающей запятой в случае 53? Посмотрите IEEE 754, чтобы копнуть глубже.

Первоначально опубликовано на сайте notes-andyskw.rhcloud.com 8 августа 2015 г.