Object.values()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2017å¹´3æ.
Object.values() ã¯éçã¡ã½ããã§ãæå®ããããªãã¸ã§ã¯ããæã¤åæå¯è½ãªããããã£ã®æååãã¼ã®ããããã£å¤ãé
åã§è¿ãã¾ãã
試ãã¦ã¿ã¾ããã
const object = {
a: "some string",
b: 42,
c: false,
};
console.log(Object.values(object));
// äºæ³ãããçµæ: Array ["somestring", 42, false]
æ§æ
Object.values(obj)
弿°
obj-
ãªãã¸ã§ã¯ãã
è¿å¤
æå®ããããªãã¸ã§ã¯ããæã¤åæå¯è½ãªããããã£ã®æååãã¼ã®ããããã£å¤ãé åã§è¿ãã¾ãã
解説
Object.values() 㯠object ã«ç´æ¥å¾ãããæååãã¼ã®ããããã£ãåæããé
åã®å¤ãè¿ãã¾ãããã㯠for...in ã«ã¼ãã§å復å¦çããã®ã¨åãã§ãããfor...in ã«ã¼ãã§ã¯ãããã¿ã¤ããã§ã¼ã³ã®ããããã£ãåæããã¾ãã Object.values() ãè¿ãé
åã®é åºã¯ã for...in ã«ã¼ãã§æå®ãããé åºã¨åãã§ãã
ããããã£ãã¼ãå¿
è¦ãªå ´åã¯ã代ããã« Object.keys() ã使ç¨ãã¾ããããããã£ã®ãã¼ã¨å¤ã®ä¸¡æ¹ãå¿
è¦ãªå ´åã¯ã代ããã« Object.entries() ã使ç¨ãã¾ãã
ä¾
>Object.values ã®ä½¿ç¨
const obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]
// é
å風ãªãã¸ã§ã¯ã
const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c']
// ã©ã³ãã ãªãã¼é åºãæã¤é
å風ãªãã¸ã§ã¯ã
// æ°å¤ã®ãã¼ã使ç¨ããã¨ãå¤ã¯ãã¼ã®çªå·é ã«è¿ããã
const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a']
// åæå¯è½ã§ãªããããã㣠getFoo ããã
const myObj = Object.create(
{},
{
getFoo: {
value() {
return this.foo;
},
},
},
);
myObj.foo = "bar";
console.log(Object.values(myObj)); // ['bar']
ããªããã£ãã« Object.values() ã使ç¨
ãªãã¸ã§ã¯ã以å¤ã®å¼æ°ã¯ãªãã¸ã§ã¯ãã«å¤æããã¾ãã undefined ã null ã¯ãªãã¸ã§ã¯ãã«å¼·å¶ã§ããã TypeError ãçºçãã¾ããæååã®ã¿ãèªåèªèº«ã§åæå¯è½ãªããããã£ãæã¤ãã¨ãã§ãã ä»ã®ããªããã£ãã¯ãã¹ã¦ç©ºã®é
åãè¿ãã¾ãã
// ãªãã¸ã§ã¯ãã§ãªã弿°ã¯ãªãã¸ã§ã¯ãã¸ã¨åå¼·å¶ããã
console.log(Object.values("foo")); // ['f', 'o', 'o']
// undefined 㨠null 以å¤ã®ããªããã£ãã¯ãèªåèªèº«ã§ããããã£ãæã¤ãã¨ã¯ãªã
console.log(Object.values(100)); // []
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.values> |