📢 Анонс Стрима!
🔥 Прямо сейчас на стриме будем разрабатывать CRM систему на React! Если хотите узнать, как создаются реальные проекты, или просто пообщаться о программировании — присоединяйтесь! 👨💻
Мы разберем:
• Как структурировать код в React
• Интеграцию с бекендом и API
• Полезные инструменты для разработки
https://www.twitch.tv/m34r7
🔥 Прямо сейчас на стриме будем разрабатывать CRM систему на React! Если хотите узнать, как создаются реальные проекты, или просто пообщаться о программировании — присоединяйтесь! 👨💻
Мы разберем:
• Как структурировать код в React
• Интеграцию с бекендом и API
• Полезные инструменты для разработки
https://www.twitch.tv/m34r7
❤1👍1🔥1
💡 Основные способы явного преобразования типов данных в JavaScript 🔄
Явное преобразование типов данных в JavaScript позволяет вручную конвертировать значения из одного типа в другой. Это помогает сделать код более предсказуемым и избежать неожиданных ошибок. Вот все основные методы явного преобразования:
🔢 1. Преобразование в число
- `Number(value)`: Преобразует значение в число.
- `String(value)`: Преобразует значение в строку.
- `Boolean(value)`: Преобразует значение в логическое значение (
- `JSON.stringify(value)`: Преобразует объект или массив в строку JSON.
- Метод `Date.prototype.toString()`: Преобразует объект
Оператор == (нестрогое равенство): Сравнивает значения после приведения их к одному типу. Это может привести к неожиданным результатам из-за автоматического преобразования типов.
Явное преобразование типов позволяет вам точно контролировать, как значения преобразуются между различными типами данных. Это помогает избежать ошибок и делает код более понятным и предсказуемым. В следующей части мы поговорим о неявных преобразованиях .
Тэги : #javascript
Явное преобразование типов данных в JavaScript позволяет вручную конвертировать значения из одного типа в другой. Это помогает сделать код более предсказуемым и избежать неожиданных ошибок. Вот все основные методы явного преобразования:
🔢 1. Преобразование в число
- `Number(value)`: Преобразует значение в число.
Number("123"); // 123- Унарный оператор `+`: Преобразует значение в число.
Number(true); // 1
Number(""); // 0
Number("abc"); // NaN
+"456"; // 456- Метод `parseInt(string, radix)`: Преобразует строку в целое число с заданной системой счисления.
+true; // 1
parseInt("42", 10); // 42- Метод `parseFloat(string)`: Преобразует строку в число с плавающей точкой.
parseInt("101", 2); // 5
parseFloat("3.14"); // 3.14📜 2. Преобразование в строку
parseFloat("2.718"); // 2.718
- `String(value)`: Преобразует значение в строку.
String(123); // "123"- Метод `toString()`: Преобразует значение в строку (доступен у чисел, булевых значений, объектов и т. д.).
String(false); // "false"
(456).toString(); // "456"🔘 3. Преобразование в логическое значение
(true).toString(); // "true"
- `Boolean(value)`: Преобразует значение в логическое значение (
true
или false
).Boolean(1); // true- Оператор `!!` (двойное отрицание): Преобразует значение в логическое значение.
Boolean(0); // false
Boolean("text"); // true
Boolean(""); // false
!!"hello"; // true🧩 4. Преобразование объектов и массивов
!!0; // false
!!null; // false
- `JSON.stringify(value)`: Преобразует объект или массив в строку JSON.
JSON.stringify({ name: "Alice", age: 25 }); // '{"name":"Alice","age":25}'- `JSON.parse(string)`: Преобразует строку JSON обратно в объект или массив.
JSON.parse('{"name":"Alice","age":25}'); // { name: "Alice", age: 25 }📅 5. Преобразование даты
- Метод `Date.prototype.toString()`: Преобразует объект
Date
в строку.new Date().toString(); // "Sat Aug 17 2024 13:42:15 GMT+0000 (Coordinated Universal Time)"- Метод `Date.prototype.toISOString()`: Преобразует объект
Date
в строку в формате ISO.new Date().toISOString(); // "2024-08-17T13:42:15.000Z"- Конструктор `Date(value)`: Преобразует строку или число в объект
Date
.new Date("2024-08-17T13:42:15.000Z"); // Date object🧪6. Сравнение значений: == и ===
Оператор == (нестрогое равенство): Сравнивает значения после приведения их к одному типу. Это может привести к неожиданным результатам из-за автоматического преобразования типов.
0 == '0'; // true (строка '0' преобразуется в число 0)Оператор === (строгое равенство): Сравнивает значения без преобразования типов. Значения должны быть одного типа и равными, чтобы результат был true.
null == undefined; // true (специальное правило в JavaScript)
1 == true; // true (булевое значение true преобразуется в 1)
0 === '0'; // false (разные типы данных)📌 Заключение
null === undefined; // false (разные значения)
1 === true; // false (разные типы данных)
Явное преобразование типов позволяет вам точно контролировать, как значения преобразуются между различными типами данных. Это помогает избежать ошибок и делает код более понятным и предсказуемым. В следующей части мы поговорим о неявных преобразованиях .
Тэги : #javascript
🪐 Что будет выведено в консоль?
Anonymous Quiz
21%
false, false, true, true, true
29%
false, true, true, true, false
21%
true, true, false, false, true
29%
false, false, true, true, false
🌟 Неявные преобразования в JavaScript 🔄
В JavaScript часто происходят неявные преобразования типов. Давайте рассмотрим некоторые примеры, чтобы понять, как это работает!
1️⃣ true + false
2️⃣ 12 / '6'
3️⃣ "number" + 15 + 3
4️⃣ 15 + 3 + "number"
5️⃣ [1] > null
6️⃣ "foo" + + "bar"
7️⃣ 'true' == true и false == 'false'
8️⃣ null == ''
9️⃣ !!"false" == !!"true"
🔟 ['x'] == 'x'
1️⃣1️⃣ [] + null + 1
1️⃣2️⃣ 0 || "0" && {}
1️⃣3️⃣ [1,2,3] == [1,2,3]
1️⃣4️⃣ {} + [] + {} + [1]
1️⃣5️⃣ !+[] + [] + ![]
1️⃣6️⃣ new Date(0) — 0
1️⃣7️⃣ new Date(0) + 0
📌 Заключение
Неявные преобразования — это важная часть JavaScript. Понимание того, как они работают, поможет избежать неожиданных результатов. Будьте внимательны с операторами, и используйте явные преобразования, когда это необходимо!
В JavaScript часто происходят неявные преобразования типов. Давайте рассмотрим некоторые примеры, чтобы понять, как это работает!
1️⃣ true + false
true + false; // 1 + 0 => 1Оператор
+
преобразует логические значения к числам.2️⃣ 12 / '6'
12 / '6'; // 12 / 6 => 2Арифметический оператор вызывает преобразование строки к числу.
3️⃣ "number" + 15 + 3
"number" + 15 + 3; // "number15" + 3 => "number153"Строка приоритетнее, поэтому число 15 преобразуется в строку.
4️⃣ 15 + 3 + "number"
15 + 3 + "number"; // 18 + "number" => "18number"Сначала складываются числа, затем происходит конкатенация со строкой.
5️⃣ [1] > null
[1] > null; // '1' > 0 => trueМассив [1] преобразуется к строке, а затем к числу.
6️⃣ "foo" + + "bar"
"foo" + + "bar"; // "foo" + NaN => "fooNaN"Унарный
+
приводит строку "bar" к NaN.7️⃣ 'true' == true и false == 'false'
'true' == true; // NaN == 1 => falseОператор
false == 'false'; // 0 == NaN => false
==
вызывает неявное преобразование к числу.8️⃣ null == ''
null == ''; // falseЗначение null не равно пустой строке.
9️⃣ !!"false" == !!"true"
!!"false" == !!"true"; // true == true => trueОба значения приводятся к логическому типу.
🔟 ['x'] == 'x'
['x'] == 'x'; // trueМассив преобразуется к строке.
1️⃣1️⃣ [] + null + 1
[] + null + 1; // 'null1'Пустой массив преобразуется в пустую строку.
1️⃣2️⃣ 0 || "0" && {}
0 || "0" && {}; // {}Логические операторы приводят к логическому типу.
1️⃣3️⃣ [1,2,3] == [1,2,3]
[1,2,3] == [1,2,3]; // falseСравниваются ссылки на объекты.
1️⃣4️⃣ {} + [] + {} + [1]
{} + [] + {} + [1]; // '0[object Object]1'Первый блок фигурных скобок игнорируется как код.
1️⃣5️⃣ !+[] + [] + ![]
!+[] + [] + ![]; // 'truefalse'Поэтапное преобразование приводит к строке.
1️⃣6️⃣ new Date(0) — 0
new Date(0) - 0; // 0Преобразование объекта Date в число.
1️⃣7️⃣ new Date(0) + 0
new Date(0) + 0; // 'Thu Jan 01 1970 02:00:00 GMT+0200 (EET)0'Преобразование в строку, а не в число.
📌 Заключение
Неявные преобразования — это важная часть JavaScript. Понимание того, как они работают, поможет избежать неожиданных результатов. Будьте внимательны с операторами, и используйте явные преобразования, когда это необходимо!
👍1
👾 Что будет выведено в консоль?
Anonymous Quiz
65%
"105nulltruefalse"
25%
"15nulltruefalse"
5%
"1051false"
5%
"105truefalse"
🚀 Массивы в JavaScript: Методы и манипуляции! 🚀
Массивы в JavaScript — это мощный инструмент для работы с упорядоченными данными! 🛠 Они позволяют хранить и управлять коллекциями элементов. Давайте подробнее рассмотрим массивы и некоторые полезные методы для работы с ними. 📚
🌟 Что такое массив?
Массив — это объект, который позволяет хранить несколько значений в одном месте. Эти значения могут быть любого типа: числа, строки, объекты и даже другие массивы! 📊
1️⃣ Создание массива
Вы можете создать массив несколькими способами:
С помощью литерала массива
С помощью конструктора массива
2️⃣ Основные методы массива
`push` и `pop`
Добавляют и удаляют элементы с конца массива.
`shift` и `unshift`
Добавляют и удаляют элементы с начала массива.
`map`
Создает новый массив с результатами вызова функции для каждого элемента.
`filter`
Создает новый массив с элементами, которые прошли проверку функции.
`reduce`
Применяет функцию к каждому элементу массива (слева направо) и возвращает одно значение.
`find`
Возвращает первый элемент, который удовлетворяет условию функции.
`forEach`
Выполняет функцию для каждого элемента массива.
### 3️⃣ Методы для поиска и сортировки
`includes`
Проверяет, содержит ли массив определенный элемент.
`sort`
Сортирует элементы массива.
🔍 Заключение
Массивы и их методы в JavaScript — это неотъемлемая часть работы с данными. Они позволяют эффективно управлять коллекциями элементов и выполнять множество операций. 🌟 Надеюсь, этот пост помог вам лучше понять массивы и их методы!
Тэги : #javascript
Массивы в JavaScript — это мощный инструмент для работы с упорядоченными данными! 🛠 Они позволяют хранить и управлять коллекциями элементов. Давайте подробнее рассмотрим массивы и некоторые полезные методы для работы с ними. 📚
🌟 Что такое массив?
Массив — это объект, который позволяет хранить несколько значений в одном месте. Эти значения могут быть любого типа: числа, строки, объекты и даже другие массивы! 📊
1️⃣ Создание массива
Вы можете создать массив несколькими способами:
С помощью литерала массива
const fruits = ['Apple', 'Banana', 'Orange'];
console.log(fruits); // Выведет: ["Apple", "Banana", "Orange"]
С помощью конструктора массива
const numbers = new Array(1, 2, 3);
console.log(numbers); // Выведет: [1, 2, 3]
2️⃣ Основные методы массива
`push` и `pop`
Добавляют и удаляют элементы с конца массива.
const stack = [1, 2, 3];
stack.push(4); // Добавляет 4 в конец
console.log(stack); // Выведет: [1, 2, 3, 4]
stack.pop(); // Удаляет последний элемент
console.log(stack); // Выведет: [1, 2, 3]
`shift` и `unshift`
Добавляют и удаляют элементы с начала массива.
const queue = [1, 2, 3];
queue.unshift(0); // Добавляет 0 в начало
console.log(queue); // Выведет: [0, 1, 2, 3]
queue.shift(); // Удаляет первый элемент
console.log(queue); // Выведет: [1, 2, 3]
`map`
Создает новый массив с результатами вызова функции для каждого элемента.
const numbers = [1, 2, 3];
const doubled = numbers.map(x => x * 2);
console.log(doubled); // Выведет: [2, 4, 6]
`filter`
Создает новый массив с элементами, которые прошли проверку функции.
const numbers = [1, 2, 3, 4];
const even = numbers.filter(x => x % 2 === 0);
console.log(even); // Выведет: [2, 4]
`reduce`
Применяет функцию к каждому элементу массива (слева направо) и возвращает одно значение.
const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((acc, current) => acc + current, 0);
console.log(sum); // Выведет: 10
`find`
Возвращает первый элемент, который удовлетворяет условию функции.
const numbers = [1, 2, 3, 4];
const found = numbers.find(x => x > 2);
console.log(found); // Выведет: 3
`forEach`
Выполняет функцию для каждого элемента массива.
const numbers = [1, 2, 3];
numbers.forEach(x => console.log(x));
// Выведет:
// 1
// 2
// 3
### 3️⃣ Методы для поиска и сортировки
`includes`
Проверяет, содержит ли массив определенный элемент.
const fruits = ['Apple', 'Banana', 'Orange'];
console.log(fruits.includes('Banana')); // Выведет: true
console.log(fruits.includes('Grape')); // Выведет: false
`sort`
Сортирует элементы массива.
const numbers = [4, 2, 3, 1];
numbers.sort((a, b) => a - b);
console.log(numbers); // Выведет: [1, 2, 3, 4]
🔍 Заключение
Массивы и их методы в JavaScript — это неотъемлемая часть работы с данными. Они позволяют эффективно управлять коллекциями элементов и выполнять множество операций. 🌟 Надеюсь, этот пост помог вам лучше понять массивы и их методы!
Тэги : #javascript
❤3
Понимание
Ключевое слово
1. Методы объекта 🧩
Когда функция вызывается как метод объекта,
2. Функции как вызов 🚀
Когда функция вызывается без привязки к объекту (как обычная функция),
Если включить строгий режим (
3. Конструкторы 🛠
При использовании функции как конструктора с помощью
4. Стрелочные функции →
Стрелочные функции не имеют собственного
5. Управление
JavaScript предоставляет несколько способов явного управления значением
-
-
function greet(greeting, punctuation) {
console.log(`${greeting}, ${this.name}${punctuation}`); // Выводит 'Hi, Eve!'
}
const person = { name: 'Eve' };
greet.apply(person, ['Hi', '!']);
-
function greet(greeting) {
console.log(`${greeting}, ${this.name}`); // Выводит 'Hey, Frank'
}
const person = { name: 'Frank' };
const greetPerson = greet.bind(person);
greetPerson('Hey');
Заключение 🎉
Понимание того, как this работает в различных контекстах и как управлять его значением с помощью call, apply и bind, является ключом к написанию надежного и предсказуемого кода в JavaScript. Эти правила помогают избежать распространенных ошибок и сделать код более понятным и поддерживаемым.
Тэги : #javascript
this
в JavaScript 🔍Ключевое слово
this
в JavaScript — это один из самых важных, но и наиболее запутанных аспектов языка. Оно указывает на объект, в контексте которого выполняется функция. Важно понимать, как this
изменяется в зависимости от того, как функция была вызвана. Давайте разберем основные случаи и методы управления this
:1. Методы объекта 🧩
Когда функция вызывается как метод объекта,
this
ссылается на этот объект:const person = {
name: 'Alice',
greet: function() {
console.log(this.name); // Выводит 'Alice'
}
};
person.greet();
2. Функции как вызов 🚀
Когда функция вызывается без привязки к объекту (как обычная функция),
this
ссылается на глобальный объект в нестрогом режиме (window
в браузере) или undefined
в строгом режиме:function show() {
console.log(this); // В браузере выведет объект window
}
show();
Если включить строгий режим (
'use strict';
), то this
будет undefined
:'use strict';
function show() {
console.log(this); // Выводит undefined
}
show();
3. Конструкторы 🛠
При использовании функции как конструктора с помощью
new
, this
ссылается на создаваемый объект:function Person(name) {
this.name = name;
}
const person = new Person('Bob');
console.log(person.name); // Выводит 'Bob'
4. Стрелочные функции →
Стрелочные функции не имеют собственного
this
. Вместо этого они захватывают значение this
из окружающего контекста, в котором были определены:const person = {
name: 'Carol',
greet: function() {
setTimeout(() => {
console.log(this.name); // Выводит 'Carol'
}, 1000);
}
};
person.greet();
5. Управление
this
с помощью call
, apply
и bind
🎯JavaScript предоставляет несколько способов явного управления значением
this
в функциях:-
call
: Метод call
позволяет вызвать функцию с определенным значением this
и передать аргументы:
function greet(greeting) {
console.log(`${greeting}, ${this.name}`); // Выводит 'Hello, Dave'
}
const person = { name: 'Dave' };
greet.call(person, 'Hello');
-
apply
: Метод apply похож на call, но принимает аргументы в виде массива:function greet(greeting, punctuation) {
console.log(`${greeting}, ${this.name}${punctuation}`); // Выводит 'Hi, Eve!'
}
const person = { name: 'Eve' };
greet.apply(person, ['Hi', '!']);
-
bind
: Метод bind создает новую функцию, которая при вызове будет иметь заданное значение this и, при необходимости, переданные аргументы. В отличие от call и apply, bind не вызывает функцию сразу, а возвращает новую функцию:function greet(greeting) {
console.log(`${greeting}, ${this.name}`); // Выводит 'Hey, Frank'
}
const person = { name: 'Frank' };
const greetPerson = greet.bind(person);
greetPerson('Hey');
Заключение 🎉
Понимание того, как this работает в различных контекстах и как управлять его значением с помощью call, apply и bind, является ключом к написанию надежного и предсказуемого кода в JavaScript. Эти правила помогают избежать распространенных ошибок и сделать код более понятным и поддерживаемым.
Тэги : #javascript
🔥2
🌐 Что будет выведено в консоль?
Anonymous Quiz
69%
hello
13%
undefined
6%
ReferenceError
13%
TypeError