# Введение в методы и свойства Все значения в JavaScript, за исключением `null` и `undefined`, содержат набор вспомогательных функций и значений, доступных "через точку". Такие функции называют "методами", а значения -- "свойствами". Здесь мы рассмотрим основы использования свойств и методов. [cut] ## Свойство str.length У строки есть *свойство* `length`, содержащее длину: ```js //+ run alert( "Привет, мир!".length ); // 12 ``` Можно и записать строку в переменную, а потом запросить её свойство: ```js //+ run var str = "Привет, мир!"; alert( str.length ); // 12 ``` ## Метод str.toUpperCase() Также у строк есть *метод* `toUpperCase()`, который возвращает строку в верхнем регистре: ```js //+ run var hello = "Привет, мир!"; *!* alert( hello.toUpperCase() ); // "ПРИВЕТ, МИР!" */!* ``` [warn header="Вызов метода -- через круглые скобки!"] Обратите внимание, для вызова метода обязательно нужны круглые скобки. Посмотрите, например, результат обращения к `toUpperCase` без скобок: ```js //+ run var hello = "Привет"; *!* alert( hello.toUpperCase ); // function... */!* ``` Метод -- это встроенная команда ("функция", мы поговорим о них позже), которую нужно вызвать для получения значения. При обращении без скобок мы получим саму эту функцию. Как правило браузер выведет её как-то так: `"function toUpperCase() { ... }"`. А чтобы получить результат -- нужно произвести её вызов, добавив скобки: ```js //+ run var hello = "Привет"; *!* alert( hello.toUpperCase() ); // ПРИВЕТ */!* ``` [/warn] Более подробно с различными свойствами и методами строк мы познакомимся в главе [](/string). ## Метод num.toFixed(n) Есть методы и у чисел, например `num.toFixed(n)`. Он округляет число `num` до `n` знаков после запятой, при необходимости добивает нулями до данной длины и возвращает в виде строки (удобно для форматированного вывода): ```js //+ run var n = 12.345; alert( n.toFixed(2) ); // "12.35" alert( n.toFixed(0) ); // "12" alert( n.toFixed(5) ); // "12.34500" ``` Детали работы `toFixed` разобраны в главе [](/number). [warn header="Обращение к методам чисел"] К методу числа можно обратиться и напрямую: ```js //+ run alert( 12.34.toFixed(1) ); // 12.3 ``` ...Но если число целое, то будет проблема: ```js //+ run no-beautify alert(12.toFixed(1)); // ошибка! ``` Ошибка произойдёт потому, что JavaScript ожидает десятичную дробь после точки. Это -- особенность синтаксиса JavaScript. Вот так -- будет работать: ```js //+ run alert( 12..toFixed(1) ); // 12.0 ``` [/warn] ## Итого В этой главе мы познакомились с методами и свойствами. Почти все значения в JavaScript, кроме разве что `null` и `undefined` имеют их и предоставляют через них разный функционал. Далее мы подробно разберём основные свойства и методы структур данных в JavaScript.