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 г.