Японские ученые представили систему искусственного интеллекта, которая способна самостоятельно обучаться и изменять свой код. Во время одного из тестов, когда ученым показалось, что нейросеть работает слишком медленно, они установили ограничение на время выполнения запросов. Однако вместо того, чтобы ускорить свою работу, ИИ попытался изменить свой код, чтобы увеличить допустимое время выполнения запросов.
💡 Типы данных и встроенные объекты в JavaScript 🧑💻
JavaScript поддерживает различные типы данных и встроенные объекты, которые можно разделить на примитивные и объектные.
📊 Примитивные типы данных:
- string (Строка)
Последовательность символов, заключённых в кавычки. Примеры:
- number (Число)
Числовые значения, как целые, так и дробные. Примеры:
- boolean (Булево значение)
Логический тип, принимающий
- null (Нулевое значение)
Специальное значение, обозначающее отсутствие значения или пустоту.
Примечание:
- undefined (Неопределённое значение)
Значение, присваиваемое переменной, которая была объявлена, но не инициализирована. Пример:
- symbol (Символ)
Уникальное и неизменяемое значение, часто используется как идентификатор для свойств объектов. Пример:
- bigint (Большое целое число)
Позволяет работать с числами, выходящими за пределы
🗂 Объект в JavaScript
Object
Базовый объект, от которого наследуются все другие объекты в JavaScript. Объекты могут содержать свойства (ключи и значения) и методы (функции, работающие с данными объекта). Основные операции включают создание, добавление, удаление и изменение свойств, а также использование встроенных методов.
Пример создания объекта:
- `Object.keys(obj)` – возвращает массив ключей объекта.
- `Object.values(obj)` – возвращает массив значений объекта.
- `Object.entries(obj)` – возвращает массив пар [ключ, значение].
- `Object.assign(target, source)` – копирует свойства из одного объекта в другой.
🔍 Некоторые встроенные объекты в JavaScript:
- Function
Особый тип объекта, представляющий собой выполняемый блок кода.
Примечание : typeof для функции возращает "function" , поскольку функции являются частным случаем объектов в JavaScript . Примеры создания функции:
Специальный объект, представляющий собой упорядоченный список значений. Массивы могут содержать элементы разных типов данных. Пример:
Коллекция пар ключ-значение, где ключи могут быть любого типа, а значения могут быть дубликатами. Пример:
Коллекция уникальных значений, без дубликатов. Пример:
Встроенный объект, предоставляющий математические функции и константы. Примеры:
Объект для работы с датами и временем. Примеры:
Объект для работы с регулярными выражениями, позволяющий выполнять поиск и замену строк. Пример:
Объект для создания и обработки ошибок. Примеры:
Понимание примитивных типов данных и встроенных объектов в JavaScript важно для эффективного программирования. Каждый из них имеет свои особенности и предназначение, что помогает разработчикам создавать более эффективные и сложные приложения.
Тэги : #javascript
JavaScript поддерживает различные типы данных и встроенные объекты, которые можно разделить на примитивные и объектные.
📊 Примитивные типы данных:
- string (Строка)
Последовательность символов, заключённых в кавычки. Примеры:
"Hello, World!"
, 'JavaScript'
.- number (Число)
Числовые значения, как целые, так и дробные. Примеры:
42
, 3.14
, -7
.- boolean (Булево значение)
Логический тип, принимающий
true
или false
. Примеры: true
, false
.- null (Нулевое значение)
Специальное значение, обозначающее отсутствие значения или пустоту.
null
используется для явного указания на отсутствие объекта. Пример: let value = null;
.Примечание:
typeof null
возвращает "object"
, что является историческим багом JavaScript и может быть не совсем интуитивно понятным.- undefined (Неопределённое значение)
Значение, присваиваемое переменной, которая была объявлена, но не инициализирована. Пример:
let x; // x is undefined
.- symbol (Символ)
Уникальное и неизменяемое значение, часто используется как идентификатор для свойств объектов. Пример:
const id = Symbol("id");
.- bigint (Большое целое число)
Позволяет работать с числами, выходящими за пределы
Number
. Пример: const big = 1234567890123456789012345678901234567890n;
.🗂 Объект в JavaScript
Object
Базовый объект, от которого наследуются все другие объекты в JavaScript. Объекты могут содержать свойства (ключи и значения) и методы (функции, работающие с данными объекта). Основные операции включают создание, добавление, удаление и изменение свойств, а также использование встроенных методов.
Пример создания объекта:
const person = {Некоторые из методов объекта:
name: "Alice",
age: 25,
greet() {
console.log("Hello, my name is " + this.name);
}
};
- `Object.keys(obj)` – возвращает массив ключей объекта.
- `Object.values(obj)` – возвращает массив значений объекта.
- `Object.entries(obj)` – возвращает массив пар [ключ, значение].
- `Object.assign(target, source)` – копирует свойства из одного объекта в другой.
🔍 Некоторые встроенные объекты в JavaScript:
- Function
Особый тип объекта, представляющий собой выполняемый блок кода.
Примечание : typeof для функции возращает "function" , поскольку функции являются частным случаем объектов в JavaScript . Примеры создания функции:
function greet(name) {- Array
return "Hello, " + name;
}
Специальный объект, представляющий собой упорядоченный список значений. Массивы могут содержать элементы разных типов данных. Пример:
const numbers = [1, 2, 3, "four", true];- Map
Коллекция пар ключ-значение, где ключи могут быть любого типа, а значения могут быть дубликатами. Пример:
const map = new Map([['key1', 'value1'], ['key2', 'value2']]);- Set
Коллекция уникальных значений, без дубликатов. Пример:
const set = new Set([1, 2, 3, 1]); // Set {1, 2, 3}- Math
Встроенный объект, предоставляющий математические функции и константы. Примеры:
const pi = Math.PI; // 3.141592653589793- Date
const sqrt = Math.sqrt(16); // 4
Объект для работы с датами и временем. Примеры:
const now = new Date(); // Текущая дата и время- RegExp
const specificDate = new Date('2024-08-18');
Объект для работы с регулярными выражениями, позволяющий выполнять поиск и замену строк. Пример:
const regex = /abc/;- Error
const result = regex.test('abcdef'); // true
Объект для создания и обработки ошибок. Примеры:
const error = new Error('Something went wrong');📌 Заключение
Понимание примитивных типов данных и встроенных объектов в JavaScript важно для эффективного программирования. Каждый из них имеет свои особенности и предназначение, что помогает разработчикам создавать более эффективные и сложные приложения.
Тэги : #javascript
📢 Анонс Стрима!
🔥 Прямо сейчас на стриме будем разрабатывать CRM систему на React! Если хотите узнать, как создаются реальные проекты, или просто пообщаться о программировании — присоединяйтесь! 👨💻
Мы разберем:
• Как структурировать код в React
• Интеграцию с бекендом и API
• Полезные инструменты для разработки
https://www.twitch.tv/m34r7
🔥 Прямо сейчас на стриме будем разрабатывать CRM систему на React! Если хотите узнать, как создаются реальные проекты, или просто пообщаться о программировании — присоединяйтесь! 👨💻
Мы разберем:
• Как структурировать код в React
• Интеграцию с бекендом и API
• Полезные инструменты для разработки
https://www.twitch.tv/m34r7
💡 Основные способы явного преобразования типов данных в 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. Понимание того, как они работают, поможет избежать неожиданных результатов. Будьте внимательны с операторами, и используйте явные преобразования, когда это необходимо!
👾 Что будет выведено в консоль?
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