From c058fa0fb22dc40ef0225b21a97578cddd0aaffa Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:51:05 +0100 Subject: unslug ru: move --- .../primitive/index.html" | 105 --------------------- 1 file changed, 105 deletions(-) delete mode 100644 "files/ru/\321\201\320\273\320\276\320\262\320\260\321\200\321\214/primitive/index.html" (limited to 'files/ru/словарь/primitive/index.html') diff --git "a/files/ru/\321\201\320\273\320\276\320\262\320\260\321\200\321\214/primitive/index.html" "b/files/ru/\321\201\320\273\320\276\320\262\320\260\321\200\321\214/primitive/index.html" deleted file mode 100644 index cdeff2610a..0000000000 --- "a/files/ru/\321\201\320\273\320\276\320\262\320\260\321\200\321\214/primitive/index.html" +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Primitive -slug: Словарь/Primitive -tags: - - CodingScripting - - Glossary - - JavaScript -translation_of: Glossary/Primitive ---- -

Примитив (значение примитивного типа, примитивный тип данных) это данные, которые не являются {{glossary("object", "объектом")}} и не имеют {{glossary("method","методов")}}. В {{Glossary("JavaScript")}} 7 простых типов данных: {{Glossary("string")}}, {{Glossary("number")}}, {{Glossary("boolean")}}, {{Glossary("null")}}, {{Glossary("undefined")}}, {{Glossary("symbol")}} (новое в {{Glossary("ECMAScript")}} 2015), {{Glossary("bigint")}}.

- -

Чаще всего значение примитивного типа представлено в низкоуровневой реализации языка.

- -

Все примитивы неизменяемы (immutable), то есть они не могут быть изменены. Важно не путать сам примитив с переменной, которой присвоено значение примитивного типа. Переменной может быть переприсвоено новое значение, но существующее значение примитивного типа не может быть изменено подобно объектам, массивам и функциям.

- -

Пример

- -

Этот пример поможет понять, что значения примитивных типов неизменяемы (immutable).

- -

JavaScript

- -
// Using a string method doesn't mutate the string
-var bar = "baz";
-console.log(bar);               // baz
-bar.toUpperCase();
-console.log(bar);               // baz
-
-// Using an array method mutates the array
-var foo = [];
-console.log(foo);               // []
-foo.push("plugh");
-console.log(foo);               // ["plugh"]
-
-// Assignment gives the primitive a new (not a mutated) value
-bar = bar.toUpperCase();       // BAZ
-
- -

Примитив может быть заменен, но он не может быть напрямую изменен.

- -

Другой пример [ Step-by-step ]

- -

Следующий пример поможет разобраться как JavaScript работает с примитивами.

- -

JavaScript

- -
// The Primitive
-let foo = 5;
-
-// Defining a function that should change the Primitive value
-function addTwo(num) {
-   num += 2;
-}
-// Another function trying to do the same thing
-function addTwo_v2(foo) {
-   foo += 2;
-}
-
-// Calling our first function while passing our Primitive as an argument
-addTwo(foo);
-// Getting the current Primitive value
-console.log(foo);   // 5
-
-// Trying again with our second function...
-addTwo_v2(foo);
-console.log(foo);   // 5
-
- -

Вы ожидали, что будет 7 вместо 5? Если так, тогда прочитайте, как работает этот код:

- - - -

Вот почему примитивы неизменяемы (immutable). Потому что мы не работаем над ними напрямую. Мы создаем копию и продолжаем работать с ней, не касаясь исходных значений.

- -

Обертки примитивных типов в JavaScript

- -

За исключением null и undefined, все примитивные значения имеют объектный аналог, который оборачивает значение примитивного типа:

- - - -

Метод valueOf() типа обертки возвращает значение примитивного типа.

- -

См. также

- -

Общие сведения

- - -- cgit v1.2.3-54-g00ecf