Объясните записи JavaScript?

Ob Asnite Zapisi Javascript



JavaScript поставляется с непримитивным типом данных « Объект », который получен с помощью примитивных (встроенных) типов данных. «Объект» действует как экземпляр для доступа к членам JavaScript. Он используется для вызова функции JavaScript для выполнения конкретной задачи, которую не могут выполнять примитивные типы данных. Однако одним недостатком этого типа данных является то, что он выполняет операцию сравнения на основе своей идентичности, а не содержимого. Для решения этой проблемы JavaScript предлагает новый тип данных « Рекорды », поскольку он строго сравнивает на основе своего содержания, а не идентичности.

В этом руководстве объясняются записи JavaScript.







Что такое «Рекорды»?

JavaScript “ Рекорды ” — это новый примитивный тип (строки, числа, символы), похожий на встроенный . Единственное отличие состоит в том, что «Записи» абсолютно неизменяемы, т. е. значение их ключей не может быть изменено после их инициализации.



Синтаксис



Синтаксис « Записывать » идентичен «Объекту», но требует « # (решетка)» перед фигурными скобками, которые обозначают его как «Запись»:





константное имя записи = #{
/*
ключ: значение
/*
}


Давайте воспользуемся приведенным выше синтаксисом для создания новой записи.

Как создавать записи?

Чтобы создать запись, укажите символ «# (решетка)» в начале фигурных скобок, как показано в приведенном ниже блоке кода:



постоянный человек = #{
имя: 'Или' ,
имя: 'Усмань' ,
возраст: двадцать один ,
}
console.log ( человек.fname )
console.log ( человек.lname )
console.log ( человек.возраст )


В приведенном выше блоке кода:

    • человек ” относится к новой «Записи», имеющей следующие ключи «fname», «lname» и «age».
    • Далее « консоль. бревно() » отображает значения ключа «человек» одно за другим соответственно.

Примечание: Пользователь также может указать содержимое «Записей» в одной строке следующим образом:

постоянный человек = #{fname: 'Али', lname: 'Usman', возраст: 21}


Выход


Видно, что на выходе отображаются все ключевые значения созданной Записи «человек».

Ограничение записей

«Запись» не принимает «Массив» и «Объект» в качестве своего ключа. Если пользователь передает их в запись, компилятор генерирует « Ошибка типа ». Следующий блок кода показывает это на практике:

константная новая запись = #{
прибытие: [ 'HTML' , 'CSS' , 'JavaScript' ]
}
console.log ( человек.обр )


В приведенных выше строках кода:

    • новая запись » инициализирует массив с именем «arr» в качестве своего ключа.
    • Далее « консоль. бревно() ” отображает значение ключа “arr”, указанное в “newRecord”.

Выход


Консоль отображает «TypeError (передача неожиданного типа)», потому что «Записи» не принимают массив в качестве ключа.

Понимание записей JavaScript на примерах

Этот раздел содержит практическое использование «Записей» с помощью приведенных примеров.

Начнем с первого примера.

Пример 1: записи глубоко неизменяемы

JavaScript “ Рекорды ” являются глубоко неизменяемыми примитивными типами. «Глубоко неизменяемый» означает, что все ключевые значения записи не могут быть изменены или изменены на любом уровне после того, как они были установлены. «Примитивные» типы обозначают все основные типы данных JavaScript, такие как строка, число, null, undefined и многие другие.

Следующий блок кода практически демонстрирует заявленную концепцию:

константа моя запись = #{
имя: 'Или' ,
возраст: двадцать один ,
}
моя запись.имя= 'Харун'


В приведенном выше блоке кода « моя запись ' ключ ' имя ” изменяется после его инициализации.

Выход


Можно заметить, что компилятор показывает «TypeError» при изменении значения ключа «newRecord».

Пример 2: записи являются сравнительными

Основное преимущество «Записей» в том, что они сравниваются на основе их значений, а не идентичности. Принимая во внимание, что «Объекты» сравниваются по их идентичности, а не по значениям. Если два значения Records равны, компилятор возвращает значение true.

Давайте посмотрим на это практически с помощью приведенных строк кода:

константа моя запись = #{
имя: 'Или' ,
возраст: двадцать один ,
}
console.log ( моя запись === #{
имя: 'Или' ,
возраст: двадцать один ,
} ) ;


Здесь приведенный выше фрагмент кода создает две записи, которые сравниваются с помощью « строгое равенство (===)».

Выход


Вывод возвращает « истинный ” Логическое значение, которое означает, что указанные операторы, т. е. «Записи», равны.

Пример 3: преобразование записи в объект

«Записи» JavaScript также могут быть преобразованы в тип данных «Объект» с помощью конструктора «Объект». Вот его практическая реализация:

позволять моя запись = #{ Раз: 1, Два: 2}
console.log ( Объект ( моя запись ) )
console.log ( тип моей записи )


В приведенных выше строках кода:

    • Первый ' lconsole.and() » использует конструктор «Object» для преобразования « моя запись » в «объект.
    • Второй метод «console.log()» использует « тип ключевое слово, чтобы проверить тип «myRecord».

Выход


Вывод показывает преобразованную «newRecord» как « Объект », который подтверждает, что «newRecord» успешно преобразован в «объект».

Пример 4: преобразование объекта в запись

Пользователь также может преобразовать «Объект» в «Запись» для целей сравнения с помощью « Записывать() метод. Сделаем это практически:

позволять мойОбъект '=' { Один: 1 , Два: 2 }
позволять моя запись = запись ( мойОбъект )
console.log ( моя запись )


Теперь в приведенном выше фрагменте кода используется « Записывать() », чтобы преобразовать данный объект «myObj» в «myRecord».

Выход


Вывод показывает успешно преобразованный объект «myObj» в содержимое «myRecord».

Пример 5: создание новых записей из существующих записей

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

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

позволять старая запись = #{А: 1, В: 2};
позволять новая запись = #{ ...моя запись, C: 3, D: 4}
console.log ( новая запись )


В приведенном выше коде JavaScript:

    • старая запись ” относится к существующей записи с двумя ключевыми значениями.
    • Далее « новая запись ” соответствует новой записи, созданной с помощью существующей “oldRecord”, а также путем добавления новых указанных значений ключа.
    • Наконец, « консоль. бревно() » отображает только что созданную запись с именем «newRecord».

Выход


На выходе отображаются все ключевые значения только что созданной записи.

Пример 6. Доступ к записям с использованием метода «Object.keys()»

Пользователь может использовать встроенный JavaScript». ключи() ' метод ' Объект ” для доступа к ключам записи. В этом сценарии он используется для доступа к ключам «myRecord»:

позволять моя запись = #{А: 1, В: 2};
позволять RecordKeys = Object.keys ( моя запись ) ;
console.log ( RecordKeys )


В приведенном выше фрагменте кода используется « Объект.keys() » для доступа ко всем ключам, присутствующим в «myRecord».

Выход


Вывод показывает все ключи «myRecord» в формате массива, а также их индексы в формате пары «ключ-значение».

Заключение

JavaScript “ Рекорды ” являются типом данных продвинутого уровня, который является глубоко неизменяемым. Он работает аналогично «Объекту», но основное отличие состоит в том, что его значение может быть изменено или обновлено после его установки. Для объявления требуется символ «# (решетка)» перед фигурными скобками, иначе он действует как объект. В этом руководстве кратко объясняется тип данных JavaScript Records.