JavaScript метод Object.values()
JavaScript Object
Определение и применение
JavaScript метод Object.values()
возвращает массив собственных перечислимых значений свойств и методов указанного объекта.
Под перечислимыми свойствами стоит понимать те, атрибут enumerable которых имеет значение true, вследствие чего они будут перечислимы в циклах, например в цикле for...in. Атрибуты в свою очередь описываются дескрипторами свойств – это обычные объекты JavaScript, которые описывают атрибуты и значение свойства. Подробную информацию о дескрипторах свойств и атрибутах вы можете получить в описании метода defineProperty(), который позволяет определить новое или изменить существующее свойство объекта, описывая его дескрипторами.
Обращаю Ваше внимание, что метод values()
игнорирует свойства, ключом которых является символ (Symbol).
Поддержка браузерами
| Метод | ![]() Chrome | ![]() Firefox | ![]() Opera | ![]() Safari | ![]() IExplorer | ![]() Edge |
|---|---|---|---|---|---|---|
values()![]() | 54.0 | 47.0 | Да | 10.1 | Нет | Да |
JavaScript синтаксис:
Object.values( obj );
Версия JavaScript
ECMAScript 2017 (8th Edition, ECMA-262)Значения параметров
| Параметр | Описание |
|---|---|
| obj | Объект, перечислимые собственные свойства и методы которого должны быть возвращены в виде массива. Обязательное значение. |
Исключения
| Тип исключения | Описание |
|---|---|
| TypeError | Возникает в том случае, если методу в качестве значения параметра передается undefined или null (не удается преобразовать значение undefined или null в объект). |
Пример использования
let obj = {a: 1, b: 2, c: () => console.log( "hello" )}; let newArr = Object.values( obj ); console.log( newArr ); // переменная содержит значение [ 1, 2, () => console.log( "hello" ) ] // изменяем в объекте существующее свойство Object.defineProperty( obj, "c", { enumerable: false // устанавливаем, что свойство не перечислимо }); console.log( Object.values( obj ) ); // переменная содержит значение [ 1, 2 ] let str = "Hello" let newArr = Object.values( str ); console.log( newArr ); // переменная содержит значение [ "H", "e", "l", "l", "o"] let arr = ["a", "b", "c"] let newArr = Object.values( arr ); console.log( newArr ); // переменная содержит значение [ "a", "b", "c" ] let objWithSymbol = { [Symbol( "123" )]:"123", a: "test" } let newArr = Object.values( objWithSymbol ); // игнорирует свойства, ключом которых является символ console.log( newArr ); // переменная содержит значение [ "test" ] Object.entries( undefined ); // TypeError Object.entries( null ); // TypeErrorJavaScript Object





