How To WebDev
2.41K subscribers
8 photos
1 video
325 links
Заявки принимаются моментально!

Обучаем фронтентду и бекенду просто и понятно!

Сотрудничество: @me_Smith

Ссылка на канал: @HowTo_WebDev
Download Telegram
🧾 Строгий режим в JavaScript (часть 3)

Синтаксис "use strict";

Синтаксис для объявления строгого режима был разработан для совместимости со старыми версиями JavaScript.

Компиляция числового литерала (4 + 5;) или строкового литерала ("Щипунов Андрей";) в программе JavaScript не имеет побочных эффектов. Он просто компилируется в несуществующую переменную и умирает.

Таким образом, "use strict"; имеет значение только для новых компиляторов, которые "понимают" его значение.

📋 #JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строгий режим в JavaScript (часть 4)

Почему строгий режим?

Строгий
режим упрощает написание "безопасного" JavaScript.

Строгий режим изменяет ранее принятый "плохой синтаксис" на реальные ошибки.

Например, в обычном JavaScript неправильный ввод имени переменной создает новую глобальную переменную. В строгом режиме это вызовет ошибку, что сделает невозможным случайное создание глобальной переменной.

В обычном JavaScript разработчик не будет получать никаких сообщений об ошибках, присваивая значения свойствам, недоступным для записи.

В строгом режиме любое присвоение недоступному для записи свойству, только для получения, несуществующему свойству, несуществующей переменной или несуществующему объекту вызовет ошибку.

📋 #JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строгий режим в JavaScript (часть 5)

Не разрешено в строгом режиме


Использование переменной без ее объявления не допускается:

"use strict";
x = 3.14; // Это вызовет ошибку


Объекты тоже переменные.

Использование объекта без его объявления не допускается:

"use strict";
x = {p1:10, p2:20}; // Это вызовет ошибку


Удаление переменной (или объекта) не допускается.

"use strict";
var x = 3.14;
delete x; // Это вызовет ошибку


📋 #JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строгий режим в JavaScript (часть 6)

Удаление функции
не допускается.

"use strict";
function x(p1, p2) {};
delete x; // Это вызовет ошибку

Дублирование имени параметра не допускается:

"use strict";
function x(p1, p1) {}; // Это вызовет ошибку

Восьмеричные числовые литералы не допускаются:

"use strict";
var x = 010; // Это вызовет ошибку

Восьмеричные escape-символы не допускаются:

"use strict";
var x = "\010"; // Это вызовет ошибку

📋
#JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строгий режим в JavaScript (часть 7)

Запись
в свойство read-only не допускается:

"use strict";
var obj = {};
Object.defineProperty(obj, "x", {value:0, writable:false});


obj.x = 3.14; // Это вызовет ошибку

Запись в свойство get-only не допускается:

"use strict";
var obj = {get x() {return 0} };

obj.x = 3.14; // Это вызовет ошибку


Удаление свойства, которое невозможно удалить, не допускается:

"use strict";
delete Object.prototype; // Это вызовет ошибку


Слово eval нельзя использовать в качестве переменной:

"use strict";
var eval = 3.14; // Это вызовет ошибку


📋 #JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строгий режим в JavaScript (часть 8)

Слово arguments нельзя использовать в качестве переменной:

"use strict";
var arguments = 3.14; // Это вызовет ошибку


Заявление with не допускается:

"use strict";
with (Math){x = cos(2)}; // Это вызовет ошибку


По соображениям безопасности eval() запрещенно создавать переменные в области, из которой он был вызван:

"use strict";
eval ("var x = 2");
alert (x);// Это вызовет ошибку


📋 #JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строгий режим в JavaScript (часть 9)

Ключевое слово this в функции ведет себя по-разному в строгом режиме.

Ключевое слово this относится к объекту, который вызвал функцию.

Если объект не указан, функции в строгом режиме вернут undefined, а функции в нормальном режиме вернут глобальный объект (окно):

"use strict";
function myFunction() {
alert(this); // выдаст предупреждение "undefined"
}
myFunction();


📋 #JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строгий режим в JavaScript (финал)

Ключевые
слова, зарезервированные для будущих версий JavaScript, не могут использоваться в качестве имен переменных в строгом режиме.

Такие как эти:

• implements

• interface

• let

• package

• private

• protected

• public

• static

• yield

Пример:

"use strict";

var public = 1500; // Это вызовет ошибку

Директива "use strict" распознается только в начале скрипта или функции.

📋
#JavaScript #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Лямбда в Python (часть 1)

Функция lambda
— это небольшая анонимная функция.

Функция lambda может принимать любое количество аргументов, но может иметь только одно выражение.

Синтаксис

lambda аргумент : выражение

Выражение выполняется и возвращается результат.

Пример – добавьте 10 к аргументу , и верните результат:

x = lambda a : a + 10
print(x(5))

Пример – умножьте аргумент a на аргумент b и верните результат:

x = lambda a, b : a * b
print(x(5, 6))

Пример – суммируйте аргументы a, b, и c и верните результат:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

📋
#Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Лямбда в Python (часть 2)

Зачем использовать лямбда-функции?

Сила лямбда
лучше проявляется, когда вы используете их как анонимную функцию внутри другой функции

Скажем, у вас есть определение функции, которое принимает один аргумент, и этот аргумент будет умножен на неизвестное число:

def myfunc(n):
return lambda a : a * n

Используйте это определение функции, чтобы создать функцию, которая всегда удваивает отправляемое вами число:

def myfunc(n):
return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))

📋
#Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в Python (часть 1)

Python не имеет
встроенной поддержки массивов, но вместо этого можно использовать Python списки.

Массивы

Массивы
используются для хранения нескольких значений в одной переменной:

Пример – создайте массив, содержащий названия автомобилей:

cars = ["Ford", "Volvo", "BMW"]

Что такое массив?

Массив
— это специальная переменная, которая может содержать более одного значения одновременно.

Если у вас есть список элементов (например, список названий автомобилей), хранение автомобилей в отдельных переменных может выглядеть так:

car1 = "Ford"
car2 = "Volvo"
car3 = "BMW"

Однако, если вы хотите перебрать все машины и найти конкретную? А если бы у вас было не 3 машины, а 300?

Решение
представляет собой массив.

Массив может содержать множество значений под одним именем, и вы можете получить доступ к значениям, обратившись к порядковому номеру.

📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в Python (часть 2)

Доступ к элементам массива

Вы обращаетесь к элементу массива, обращаясь к номеру индекса.

Пример – получить значение первого элемента массива:

x = cars[0]

Пример – измените значение первого элемента массива:

cars[0] = "Toyota"

📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в Python (часть 3)

Длина массива

Используйте
метод len(), чтобы вернуть длину массива (количество элементов в массиве).

Пример – вернуть количество элементов в массиве cars:

x = len(cars)

Длина массива всегда на единицу больше, чем самый высокий индекс массива.

📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в Python (часть 4)

Цикл элементов массива

Вы можете использовать цикл for in для перебора всех элементов массива.

Пример – выведите каждый элемент массива cars:

for x in cars:
print(x)

Добавление элементов массива

Вы можете использовать метод append() для добавления элемента в массив.

Пример – добавьте еще один элемент в массив cars:

cars.append("Honda")

📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в Python (часть 5)

Удаление элементов массива

Вы можете использовать метод pop() для удаления элемента из массива.

Пример – удалите второй элемент массива cars:

cars.pop(1)

Вы также можете использовать метод remove() для удаления элемента из массива.

Пример – удалите элемент, который имеет значение «Volvo»:

cars.remove("Volvo")

Метод remove() удаляет только первое вхождение указанного значения.

📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в Python (часть 6)

Методы массива

В Python есть набор встроенных методов, которые вы можете использовать для списков/массивов.

append()добавляет элемент в конец списка.

clear()удаляет все элементы из списка.

copy()возвращает копию списка.

count() – возвращает количество элементов с указанным значением.

extend()добавляет элементы списка (или любого итерируемого) в конец текущего списка.

📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Массивы в Python (финал)

index()
возвращает индекс первого элемента с указанным значением.

insert()добавляет элемент в указанную позицию.

pop()удаляет элемент в указанной позиции.

remove()удаляет первый элемент с указанным значением.

reverse()меняет порядок списка на обратный.

sort()сортирует список.

📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Булевые значения в Python (часть 1)

Булевые значения представляют одно из двух значений: True или False.

В программировании вам часто нужно знать, является ли выражение True или False.

Вы можете оценить любое выражение в Python и получить один из двух ответов, True или False.

Когда вы сравниваете два значения, выражение оценивается, и Python возвращает логический ответ.

Пример:

Код

Когда вы запускаете условие "if", Python возвращает: True или False.

Пример – распечатайте сообщение на основе того, является ли условие True или False:

a = 200
b = 33

if b > a:
print("b больше чем a")
else:
print("b меньше чем а a")

📋
#Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Булевые значения в Python (часть 2)

Оценка значений и переменных

Функция bool() позволяет оценить любое значение и вернуть: True или False.

Пример – оцените строку и номер:

print(bool("Привет"))
print(bool(15))


Пример – оцените две переменные:

x = "Привет"
y = 15

print(bool(x))
print(bool(y))


📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Булевые значения в Python (часть 3)

Большинство значений верны

Почти любое значение является True, если у него есть какое-то содержание.

Любая строка – это True, кроме пустых строк.

Любое число – это True, кроме 0.

Любой список, кортеж, набор и словарь: это True, кроме пустых.

Пример – следующие выржания вернут True:

bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])


📋 #Backend #Python #Совет
▬▬▬▬▬▬▬▬
// How To WebDev