Baseline Widely available *
arguments
ã¯é
å風 (Array
-like) ãªãã¸ã§ã¯ãã§ããã颿°ã«æ¸¡ããã弿°ã®å¤ãå«ãã§ããã颿°å
ããã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
function func1(a, b, c) {
console.log(arguments[0]);
// Expected output: 1
console.log(arguments[1]);
// Expected output: 2
console.log(arguments[2]);
// Expected output: 3
}
func1(1, 2, 3);
解説
ã¡ã¢: ES6 äºæã®ã³ã¼ããæ¸ãå ´åã¯ãæ®ä½å¼æ°ãæ¨å¥¨ããã¾ãã
ã¡ã¢: ãé
å風ãã¨ã¯ã arguments
ã length
ããããã£ã¨ 0 ããå§ã¾ãæ·»åã®ããããã£ãæã£ã¦ãããã®ã®ã Array
ã®çµè¾¼ã¿ã¡ã½ãããä¾ãã° forEach()
ã map()
ãæã£ã¦ããªãã¨ãããã¨ã§ãã詳ããã¯è§£èª¬ã®ç¯ãè¦ã¦ãã ããã
arguments
ãªãã¸ã§ã¯ãã¯ãã¹ã¦ã®ï¼ã¢ãã¼é¢æ°ã§ã¯ãªãï¼é¢æ°å
ã§å©ç¨å¯è½ãªãã¼ã«ã«å¤æ°ã§ããarguments
ãªãã¸ã§ã¯ãã使ããã¨ã«ããã颿°å
ã§é¢æ°ã®å¼æ°ãåç
§ã§ãã¾ãããã®ãªãã¸ã§ã¯ãã¯ã颿°ã«æ¸¡ãããå弿°ã«å¯¾ããå
¥åãå«ã¿ã¾ããæåã®å
¥åã®æ·»å㯠0 ããå§ã¾ãã¾ãã
ãã¨ãã°ããã颿°ã« 3 ã¤ã®å¼æ°ã渡ããããªããæ¬¡ã®ããã«ãã®å¼æ°ãåç §ã§ãã¾ãã
arguments[0]; // 1 çªç®ã®å¼æ°
arguments[1]; // 2 çªç®ã®å¼æ°
arguments[2]; // 3 çªç®ã®å¼æ°
弿°ãè¨å®ãããåä»£å ¥ããããããã¨ãã§ãã¾ãã
arguments[1] = "new value";
arguments
ãªãã¸ã§ã¯ã㯠Array
ã§ã¯ããã¾ãããä¼¼ã¦ãã¾ããã Array
ã®ããããã£ã¯ length
以å¤ããã¾ããããã¨ãã°ã pop()
ã¡ã½ããã¯ããã¾ããã
ããããªãããæ¬å½ã® Array
ã«å¤æãããã¨ã¯ã§ãã¾ãã
var args = Array.prototype.slice.call(arguments);
// é
åãªãã©ã«ã使ç¨ããã¨ä¸è¨ãããçããªãã¾ããã空ã®é
åã使ãã¾ã
var args = [].slice.call(arguments);
ä»ã®é
å風ãªãã¸ã§ã¯ãã¨åæ§ã«ã ES2015 ã® Array.from()
ã¡ã½ãããã¹ãã¬ããæ§æã使ç¨ãããã¨ã§ã arguments
ãæ¬å½ã®é
åã«å¤æãããã¨ãã§ãã¾ãã
let args = Array.from(arguments);
// or
let args = [...arguments];
arguments
ãªãã¸ã§ã¯ãã¯ããããããå®ç¾©ããã弿°ã®æ°ãããå¤ãã®å¼æ°ã§å¼ã³åºããã颿°ã«ä¾¿å©ã§ãããã®ãã¯ããã¯ã¯ Math.min()
ãªã©ã® å¯å¤æ°ã®å¼æ°ãåãå
¥ãã颿°ã«ä¾¿å©ã§ãããã®ä¾ã®é¢æ°ã¯ãä»»æã®æ°ã®æååã弿°ã§ã弿°ã®ä¸ã§ä¸çªé·ãæååãè¿ãã¾ãã
function longestString() {
var longest = "";
for (var i = 0; i < arguments.length; i++) {
if (arguments[i].length > longest.length) {
longest = arguments[i];
}
}
return longest;
}
å¼ã³åºããã颿°ã«æ¸¡ããã弿°ãæ°ããããã« arguments.length
ã使ç¨ãããã¨ãã§ãã¾ãã颿°ãåãåã弿°ãæ°ãããã®ã§ããã°ã颿°ã® length
ããããã£ã調ã¹ã¦ãã ããã
typeof
æ¼ç®åã arguments
ã«å¯¾ãã¦ä½¿ç¨ããã¨ã 'object'
ãè¿ããã¾ãã
console.log(typeof arguments); // 'object'
åã
ã®å¼æ°ã®åã¯ã arguments
ã«æ·»åã使ç¨ãã¦å¤æãããã¨ãã§ãã¾ãã
console.log(typeof arguments[0]); // æåã®å¼æ°ã®åãè¿ã
ããããã£
arguments.callee
åã®å¼æ°ãæå±ãããç¾å¨å®è¡ä¸ã®é¢æ°ãåç §ãã¾ãã峿 ¼ã¢ã¼ãã§ã¯ç¦æ¢ããã¦ãã¾ãã
arguments.length
颿°ã«æ¸¡ããã弿°ã®æ°ã示ãã¾ãã
arguments[Symbol.iterator]
æ°ããé
åã¤ãã¬ã¼ã¿ã¼
ãªãã¸ã§ã¯ãã§ã arguments
ã®ããããã®è¦ç´ ã®å¤ãå«ã¿ã¾ãã
ãã®ä¾ã§ã¯ãè¤æ°ã®æååãé£çµãã颿°ãå®ç¾©ãã¾ãããã®é¢æ°ã®å¯ä¸ã®ä»®å¼æ°ã¯ãé£çµããé ç®ãåºåãæåãæå®ããæååã§ãããã®é¢æ°ã¯æ¬¡ã®ããã«å®ç¾©ããã¾ãã
function myConcat(separator) {
let args = Array.prototype.slice.call(arguments, 1);
return args.join(separator);
}
ãã®é¢æ°ã¸ã¯å¥½ããªæ°ã ã弿°ã渡ããã¨ãã§ãã¾ããããã¯ãªã¹ãä¸ã®ããããã®å¼æ°ã使ç¨ããæååãªã¹ããè¿ãã¾ãã
// "red, orange, blue" ãè¿ãã¾ã
myConcat(", ", "red", "orange", "blue");
// "elephant; giraffe; lion; cheetah" ãè¿ãã¾ã
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
// "sage. basil. oregano. pepper. parsley" ãè¿ãã¾ã
myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
HTML ã®ãªã¹ããä½ã颿°ã®å®ç¾©
ãã®ä¾ã§ã¯ããªã¹ãã®ããã® HTML ãå«ãæååãä½ã颿°ãå®ç¾©ãã¾ãããã®é¢æ°ã®å¯ä¸ã®å
¬å¼ãªå¼æ°ã¯æååã§ã "u
" ãæå®ããã¨é åºãªãï¼ä¸é»ä»ãï¼ãªã¹ãã "o
" ãæå®ããã¨é åºä»ãï¼çªå·ä»ãï¼ãªã¹ãã«ãªãã¾ãã颿°ã¯æ¬¡ã®ããã«å®ç¾©ãã¾ãã
function list(type) {
var html = "<" + type + "l><li>";
var args = Array.prototype.slice.call(arguments, 1);
html += args.join("<li>");
html += "</" + type + "l>"; // end list
return html;
}
ãã®é¢æ°ã«ã¯ä»»æã®æ°ã®å¼æ°ã渡ããã¨ãã§ããããããã®å¼æ°ãæå®ãããåã®ãªã¹ãã«é ç®ã¨ãã¦è¿½å ãã¾ããä¾ã示ãã¾ãã
let listHTML = list("u", "One", "Two", "Three");
/* listHTML ã®å
容:
"<ul><li>One<li>Two<li>Three</ul>"
*/
æ®ä½å¼æ°ãããã©ã«ã弿°ãåå²å¼æ°
arguments
ãªãã¸ã§ã¯ããæ®ä½å¼æ°ãããã©ã«ã弿°ãåå²å¼æ°ã¨çµã¿åããã¦ä½¿ç¨ã§ãã¾ãã
function foo(...args) {
return args;
}
foo(1, 2, 3); // [1, 2, 3]
峿 ¼ã¢ã¼ãã®ã³ã¼ãã§ã¯ãæ®ä½å¼æ°ãããã©ã«ã弿°ãåå²å¼æ°ããã£ã¦ã arguments
ãªãã¸ã§ã¯ãã®åä½ã¯å¤ããã¾ãããã峿 ¼ã¢ã¼ãã§ãªãå ´åã¯å¾®å¦ãªéããããã¾ãã
峿 ¼ã¢ã¼ãã§ã¯ã arguments
ãªãã¸ã§ã¯ãã¯é¢æ°ã«æ®ä½å¼æ°ãããã©ã«ã弿°ãåå²å¼æ°ã渡ããããã©ããã«ãããããåãåä½ããã¾ããããªãã¡ã颿°ã®æ¬ä½ã§å¤æ°ã«æ°ããå¤ã代å
¥ãã¦ãã arguments
ãªãã¸ã§ã¯ãã«ã¯å½±é¿ãã¾ãããã¾ãã arguments
ãªãã¸ã§ã¯ãã«æ°ãã夿°ã代å
¥ãã¦ãã夿°ã®å¤ã«ã¯å½±é¿ããã¾ããã
ã¡ã¢: "use strict";
ãã£ã¬ã¯ãã£ãããæ®ä½å¼æ°ãããã©ã«ã弿°ãåå²å¼æ°ãåãä»ãã颿°ã®æ¬ä½ã«æ¸ããã¨ã¯ã§ãã¾ãããããããã¨ãæ§æã¨ã©ã¼ãçºçãã¾ãã
峿 ¼ã¢ã¼ãã§ãªã颿°ã§ãåç´ãªå¼æ°ã®ã¿ã渡ããå ´åï¼ããªãã¡ãæ®ä½å¼æ°ãããã©ã«ã弿°ãåå²å¼æ°ã§ã¯ãªãå ´åï¼ã颿°ã®æ¬ä½ã§å¤æ°ã®å¤ãæ°ããå¤ã«ããã¨ã arguments
ãªãã¸ã§ã¯ãã¨åæãã¾ãã
function func(a) {
arguments[0] = 99; // arguments[0] ãæ´æ°ãã㨠a ãæ´æ°ããã
console.log(a);
}
func(10); // 99
ããã³
function func(a) {
a = 99; // a ãæ´æ°ãã㨠arguments[0] ãæ´æ°ããã
console.log(arguments[0]);
}
func(10); // 99
ããã«å¯¾ãã¦ã峿 ¼ã¢ã¼ãã§ãªã颿°ã§ãæ®ä½å¼æ°ãããã©ã«ã弿°ãåå²å¼æ°ã渡ãããã¨ã颿°ã®æ¬ä½ã§å¼æ°ã®å¤æ°ã«æ°ããå¤ã代å
¥ããã¦ãã arguments
ãªãã¸ã§ã¯ãã¨åæããã¾ãããè¤éãªå¼æ°ãæã¤å³æ ¼ã¢ã¼ãã§ãªã颿°ã® arguments
ãªãã¸ã§ã¯ãã¯ã颿°ãå¼ã³åºãããã¨ãã«é¢æ°ã«æ¸¡ãããå¤ã常ã«åæ ãã¾ãï¼ããã¯ã渡ããã夿°ã®åã«é¢ä¿ãªãããã¹ã¦ã®å³æ ¼ã¢ã¼ãã®é¢æ°ã®å ´åã¨åãåä½ã§ãï¼ã
function func(a = 55) {
arguments[0] = 99; // arguments[0] ãæ´æ°ãã¦ã a ã¯æ´æ°ãããªã
console.log(a);
}
func(10); // 10
ããã³
function func(a = 55) {
a = 99; // a ãæ´æ°ãã¦ã arguments[0] ã¯æ´æ°ãããªã
console.log(arguments[0]);
}
func(10); // 10
ããã³
// ããã©ã«ã弿°ã¯è¿½è·¡ããã¾ããã
function func(a = 55) {
console.log(arguments[0]);
}
func(); // undefined
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4