ããããã£ã¢ã¯ã»ãµã¼
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
ããããã£ã¢ã¯ã»ãµã¼ã¯ãªãã¸ã§ã¯ãã®ããããã£ã¸ã®ã¢ã¯ã»ã¹ãæä¾ãããã®ã§ããããè¨æ³ã¾ãã¯ãã©ã±ããè¨æ³ã使ç¨ãã¾ãã
試ãã¦ã¿ã¾ããã
const person1 = {};
person1["firstName"] = "Mario";
person1["lastName"] = "Rossi";
console.log(person1.firstName);
// äºæ³ãããçµæ: "Mario"
const person2 = {
firstName: "John",
lastName: "Doe",
};
console.log(person2["lastName"]);
// äºæ³ãããçµæ: "Doe"
æ§æ
object.propertyName
object[expression]
object.#privateProperty
解説
ãªãã¸ã§ã¯ãã¯å®éã«ã¯é£æ³é åï¼å¥å mapã dictionaryã hashã lookup tableï¼ã¨ã¿ãªããã¨ãã§ãã¾ãããã®é åã«ããããã¼ã¯ãªãã¸ã§ã¯ãã®ããããã£ã®ååã§ãã
ããããã£ã«ã¢ã¯ã»ã¹ããã«ã¯ããããè¨æ³ã¨ãã©ã±ããè¨æ³ã® 2 éããããã¾ãã
ãããè¨æ³
object.propertyName ã®æ§æã§ã¯ã propertyName ã¯æå¹ãª JavaScript ã® èå¥åã§ãªããã°ãªãããäºç´èªã§ãã£ã¦ãæ§ãã¾ãããä¾ãã°ã object.$1 ã¯æå¹ã§ããã®ã«å¯¾ãã object.1 ã¯æå¹ã§ã¯ããã¾ããã
const variable = object.propertyName;
object.propertyName = value;
const object = {};
object.$1 = "foo";
console.log(object.$1); // 'foo'
const object = {};
object.1 = "bar"; // SyntaxError
console.log(object.1); // SyntaxError
ããã§ã createElement ã¨ããã¡ã½ããã document ããåå¾ããå¼ã³åºãã¾ãã
document.createElement("pre");
æ°å¤ãªãã©ã«ã«å¯¾ãã¦ã¡ã½ããã使ç¨ããå ´åã§ããã®æ°å¤ãªãã©ã«ã«ææ°ãå°æ°ç¹ããªãå ´åãã¡ã½ããå¼ã³åºãããããããã®åã«ãã¯ã¤ãã¹ãã¼ã¹ãå ¥ãããã¨ã§ãããããå°æ°ç¹ã¨ã¿ãªããããã¨ãé²ããã¨ãã§ãã¾ãã
77 .toExponential();
// or
77
.toExponential();
// or
(77).toExponential();
// or
77..toExponential();
// or
77.0.toExponential();
// 77. 㨠77.0 ã¯åããã®ã¨ãã¦è©ä¾¡ããã¾ã
ããã«ããã©ã¤ãã¼ãè¦ç´ ã¯ããããå®ç¾©ããã¯ã©ã¹å ã§ãããè¨æ³ã使ç¨ãã¦ã®ã¿ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
ãã©ã±ããè¨æ³
object[expression] ã®æ§æã§ã¯ãexpression ã¯æååã¾ãã¯ã·ã³ãã«ã§ããã§ããããããã¯ä»»æã®æååãä¾ãã° '1foo'ã'!bar!'ãã¾ã㯠' ' (空ç½) ã§ãã£ã¦ãæ§ãã¾ããã
const variable = object[propertyName];
object[propertyName] = value;
ããã¯åã®ä¾ã¨ã¾ã£ããåãã§ãã
document["createElement"]("pre");
ãã©ã±ããè¨æ³ã®åã«ã¯ç©ºç½ãå ¥ãããã¨ãã§ãã¾ãã
document ["createElement"]("pre");
ããããã£åã¨ãã¦è©ä¾¡ãããå¼ã渡ãã¨ãããããã£åãç´ã«ç´æ¥æ¸¡ãã®ã¨åããã¨ãè¡ããã¾ãã
const key = "name";
const getKey = () => "name";
const Obj = { name: "Michel" };
Obj["name"]; // "Michel" ãè¿ã
Obj[key]; // Obj["name"] ã¨è§£éããã "Michel" ãè¿ã
Obj[getKey()]; // Obj["name"] ã¨è§£éããã "Michel" ãè¿ã
ãã ããå¤é¨å ¥åã§æå®ãããååã®ããããã£ã«ã¢ã¯ã»ã¹ããããã«è§æ¬å¼§ã使ç¨ãããã¨ã«ã¯æ³¨æãå¿ è¦ã§ããããã«ãããã³ã¼ãããªãã¸ã§ã¯ãã¤ã³ã¸ã§ã¯ã·ã§ã³æ»æã許ãããããªãå¯è½æ§ãããã¾ãã
ããããã£å
ããããã£åã¯æååã¾ãã¯ã·ã³ãã«ã§ãããã以å¤ã®å¤ã¯ãæ°å¤ãå«ãã¦ãæååã¸å¼·å¶å¤æããã¾ãããã㯠'value' ãåºåãã¾ãã 1 ã '1' ã«å¼·å¶å¤æãããããã§ãã
const object = {};
object["1"] = "value";
console.log(object[1]);
ãã¡ãã 'value' ãåºåãã¾ããfoo 㨠bar ã¯åãæååã«å¤æãããããã§ãã
const foo = { uniqueProp: 1 };
const bar = { uniqueProp: 2 };
const object = {};
object[foo] = "value";
console.log(object[bar]);
ã¡ã½ããã®ãã¤ã³ã
ãªãã¸ã§ã¯ãã®ããããã£ã«ã¤ãã¦è©±ãå ´åã¯ãããããã£ã¨ã¡ã½ãããåºå¥ããã®ãä¸è¬çã§ããããããããããã£ã¨ã¡ã½ããã®åºå¥ã¯ãåãªãæ
£ç¿ã«ããã¾ãããã¡ã½ããã¯ãå¼ã³åºããã¨ãã§ããããããã£ã§ãï¼ä¾ãã°ãFunction ã¤ã³ã¹ã¿ã³ã¹ã¸ã®åç
§ãå¤ã¨ãã¦ä¿æãã¦ããå ´åãªã©ï¼ã
ã¡ã½ããã¯ããã®ã¡ã½ãããæå±ãããªãã¸ã§ã¯ãã«ãã¤ã³ãããã¦ããããã§ã¯ããã¾ãããç¹ã«ã this ã¯ã¡ã½ããå
ã§åºå®ããã¦ããããã§ã¯ãªããå¿
ããããã®ã¡ã½ãããå«ãã§ãããªãã¸ã§ã¯ããåç
§ãã¦ããã¨ã¯éãã¾ããã this ã¯é¢æ°å¼ã³åºãæã«ã渡ãããããã®ã§ããthis ã®ãªãã¡ã¬ã³ã¹ãåç
§ãã¦ãã ããã
ä¾
>ãã©ã±ããè¨æ³ã¨ eval()
JavaScript åå¿è
ã¯ãã°ãã°ã代ããã«ãã©ã±ããè¨æ³ã使ããã¨ããã§ eval() ã使ç¨ãã¦ãã¾ãééããç¯ãã¾ãã
ä¾ãã°ã以ä¸ã®ãããªæ§æãããããã®ã¹ã¯ãªããã§è¦ããã¾ãã
const x = eval(`document.forms.form_name.elements.${strFormControl}.value`);
eval() ã¯ä½éã§ãããå¯è½ãªéãé¿ããã¹ãã§ããã¾ãã strFormControl 㯠ID ãå¿
è¦ã¨ãã¾ããããã©ã¼ã ã³ã³ããã¼ã«ã®åå㨠id ã¯å¿
é ã§ã¯ããã¾ããã代ããã«ãã©ã±ããè¨æ³ã使ã£ãæ¹ãè¯ãã§ãããã
const x = document.forms.form_name.elements[strFormControl].value;
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-property-accessors> |