Рубрики
Без рубрики

Интересные функции JavaScript.

Некоторые немногие полезные функции JavaScript. Помечено JavaScript, код, интересный, веб.

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

Регулярный способ доступа к свойствам объекта в JavaScript аналогичен другому C вроде языков E.g Получение свойства INVALLAME объекта человека IS Человек. Задача . Другим способом доступа к этим свойствам является лечение свойств, таких как ключи от карты E.G Человек ['firstname'] Отказ Этот способ доступа к свойствам объекта не ограничивается только полями/атрибутами, но и методы также могут быть доступны таким образом. Ниже приведен пример, используя доступ к способам доступа, как ключ карты.

    // create an array arr
    var arr = ["hello"];

    // access the push method of array prototype.
    arr["push"]("Spankie");

    console["log"](arr); // prints out: ["hello", "Spankie"]

Свойства объединения объектов в JavaScript всегда были сделаны с Объект метод прототипа назначать , но есть и другие способы, которыми это может быть достигнуто, что делается с использованием синтаксиса распространения ... . Вот пример;

let obj1 = { name: "Spankie" };
let obj2 = { greeting: "Hello", greet: () => console.log(this.greeting), sayhello: function() {
        console.log(this.greeting);
}};

// concatenating obj2 properties into obj1...
let obj3 = {...obj1, ...obj2}
obj3.greet(); // prints out: undefined
obj3.sayhello(); // prints out: "Hello"

Как упоминалось ранее, получение атрибутов объекта можно сделать несколькими способами, и другой способ выполнения этого является деконструкцией объекта. Это способ получения конкретного атрибута от объекта и присвоения его переменной с тем же именем, что и атрибут. Например, извлечение first_name атрибут из человек объект и присвоение его имени переменной first_name можно сделать легко, как это;

const person = {first_name: "Spankie", last_name: "Dee"};
const { first_name } = person;
console.log(first_name); // prints out "Spankie";

Переименование деконструированных переменных

const person = {first_name: "Spankie", last_name: "Dee", address: {
    street: "1 Main st.",
    city: "Lagos",
    country: "Nigeria"
}};
const { address: myaddress } = person;
console.log(myaddress); // prints out "{street: "1 Main st.", city: "Lagos", country: "Nigeria"}"

Деконструкция атрибутов вложенного объекта

const person = {first_name: "Spankie", last_name: "Dee", address: {
    street: "1 Main st.",
    city: "Lagos",
    country: "Nigeria"
}};
const { address: { city, country } } = person;
console.log(city, country); // prints out "Lagos Nigeria";
console.log(address); // Error: address is not defined.

Использование json.parse () С шаблонными литералами можно довольно сложно …

const a = "A girl has no face";
const b = {stark: "Winter is coming."};
console.log(JSON.parse(a));         // this would throw an unexpected token error
console.log(JSON.parse(b));         // this would throw an unexpected token error
console.log(JSON.parse(`${a}`));    // this would throw an unexpected token error
console.log(JSON.parse(`"${a}"`));  // this would log "A girl has no face"
console.log(JSON.parse(`"${b}"`));  // this would log "[object Object]"
console.log(JSON.parse(`${b}`));    // this would throw an unexpected token error

Что будет работать в любом из этих случаев:

console.log(JSON.parse(JSON.stringify(a)));

// or

console.log(JSON.parse(JSON.stringify(b)));

Оба будут работать нормально.

Доступ к объекту OOP Стиль с использованием метода GetTers и Deversters довольно популярен, JavaScript не освобождается от этого, на самом деле это довольно интересно, как это делается в JavaScript.

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

const vehicle = {
    name: "Volvo",
    year: "1999",
    // using getters and setter to set/get the year.
    get description() {
        return `This ${this.name} was made in ${this.year}`;
    },
    set description(desc) {
        var descs = desc.toString().split(' ');
        this.name = descs[0];
        this.year = descs[1];
    }
}

vehicle.description = "Mercedes 2018";
console.log(vehicle.description); // prints out "Mercedes was made in 2018"

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

const carname = "volkswagen";
const caryear = 1937;

let CarsFounded = {
    "bmw": 1916,
    "mercedes benz": 1926,
    [carname]: caryear,
}

console.log(CarsFounded); // prints out: { bmw: 1916, 'mercedes benz': 1926, volkswagen: 1937 }
console.log(CarsFounded[carname]); // prints out: 1937

Спасибо за чтение этого до конца:). Вы можете проверить некоторые из моих статей здесь

Оригинал: “https://dev.to/spankie/interesting-javascript-features-74j”