Вау… еще раз привет. В этом посте мне есть что рассказать. Все о JavaScript, и в эти дни я снова знакомлюсь с языком. Я узнал новые вещи и повторил то, что уже видел, поэтому я продолжу объяснять их.
Я узнал о сокращении свойств объекта, которое состоит из синтаксиса, позволяющего избежать написания имени свойства и значения последнего, когда оба называются одинаково. Вот пример:
Вместо записи:const getPosition(x,y) => ({
`
x:x,
y:y
});
можно упростить до:const getPosition(x, y) => ({x, y});
`
Краткие декларативные функции. Этот тип функций позволяет нам опускать слово «функция» при объявлении функции внутри объекта. Этот пример на GitHub весьма показателен:
До ES6 нам приходилось использовать ключевое слово «функция»:
const person = { name: "John", sayHello: function() { return `Hello! I am ${this.name}.`; } };
Теперь мы можем немного упростить это:
const person = { name: "John", sayHello() { return `Hello! I am ${this.name}.`; } };`
Это не большая разница, но она делает код чище и читабельнее. Вот оригинальный пример:
Это свойство с функцией в качестве значения называется методом объекта.
Функции конструктора с синтаксисом «класса» для создания объектов: в данном случае это ключевое слово представляет только синтаксис. Это изменяет способ создания функции-конструктора. Вот пример:
Раньше нам приходилось делать что-то подобное при создании объектов:
var fruits = function(fruit){
`
this.fruit = fruit;}
//we create a new object with:
var banana = new fruit("banana");
Теперь мы можем сделать это вместо этого:
class fruits {
`
constructor(fruit){
this.fruit = fruit;
}
};
//and we initialize with:
const banana = new fruit("banana");
Важно отметить, что «класс» объявляет новую функцию и добавляет конструктор. Я также подчеркиваю новый оператор, который позволяет нам создать новый экземпляр функции-конструктора.
Было несколько понятий, которые я не совсем понял. Это были геттеры и сеттеры. Он не мог понять, что они делают. В основном геттеры возвращают пользователю значение частного свойства объекта как есть. Вместо этого сеттеры изменяют это значение, они могут изменять его с помощью операций, даже переписывать.
Что касается массивов, я сосредоточился на различных методах, применимых к ним. Основными были:
- .filter(): как следует из названия, фильтрует элементы массива в соответствии с заданным условием и возвращает подмножество исходного массива на основе пользовательских критериев. Он создает новый массив, в котором хранятся результаты. Например, у нас есть следующий массив:
const words = [bread, pineapple, villager, smartphone, seven];
`
Если применить .filter:const result = words.filter(word => word.length > 7);
`
console.log(result);
В консоли получим:[pineapple, villager, smartphone]
` - .map(): также создает новый массив, только этот метод вызывает функцию для каждого элемента исходного массива и сохраняет его в новом массиве. Он не выполняет функцию для нулевых элементов и не изменяет исходный массив. Например, имеем:
const numbers = [2, 4, 6, 8]
`
применим .map():const doubles = numbers.map(function(num){
`
return num*2})
получаем:doubles = [4, 8, 12, 16]
`
И исходный массив остается такой же. - .find(): создает новый массив. Этот метод проверяет наличие элементов в массиве. Он возвращает значение первого элемента, прошедшего проверку. Это означает, что после появления первого значения остальные элементы не проверяются. Вот пример:
const numbers = [2, 4, 6, 8];
Будет возвращено: 2, так как остальные значения не оцениваются.
const result = numbers.find(number < 7);
console.log(result)
- .forEach(): аналогичен .map(), только этот метод не создает новый массив. Он выполняет только набор функций для каждого элемента массива.
Также узнал о методах импорта и экспорта, в основном именованных и по умолчанию. Я коснулся темы промисов в JavaScript. Эти последние я должен углубить еще больше, почему я еще не объясняю. Возможно в следующих постах.
Приветствую и оставайтесь последовательными!