JavaScriptã¯è€éãªèšèªã§ãã ããããã®ã¬ãã«ã§JavaScriptéçºã«æºãã£ãŠããå Žåããã®èšèªã®åºæ¬æŠå¿µãç解ããããšãéèŠã§ããããšãæå³ããŸãã æ¬æžã®ç¿»èš³çã¯ã12ã®éèŠãªJavaScriptã®æŠå¿µãã«ããŒããŠããŸãã ãã¡ãããJavaScriptéçºè
ã¯ãã£ãšå€ãã®ããšãç¥ãå¿
èŠããããŸãããä»æ¥è©±ãããšããŠããããšãªãããŠã圌ã¯ééããªãã§ããŸããã
1.å€ãšåç
§ãæ ŒçŽããå€æ°
JavaScriptã§å€æ°å€ãã©ã®ããã«æ£ç¢ºã«å²ãåœãŠãããããç解ããããšã¯ãæ£ããæ©èœããã³ãŒããäœæãã人ã«ãšã£ãŠéåžžã«éèŠã§ãã ãã®ã¡ã«ããºã ã誀解ãããšãå€æ°ã®å€ã誀ã£ãŠå€æŽãããå¯èœæ§ã®ããããã°ã©ã ãäœæããããšã«ãªããŸãã
JavaScriptã¯ããšã³ãã£ãã£ã«ããªããã£ãåïŒç¹ã«
Boolean
ã
null
ã
undefined
ã
String
ããã³
Number
åïŒã®ãããããããå Žåãåžžã«ãã®ãšã³ãã£ãã£ã®å€ã䜿çšããŸãã ã€ãŸããå€ã¯å¯Ÿå¿ããå€æ°ã«æžã蟌ãŸããŸãã ãªããžã§ã¯ãïŒ
Object
ã
Array
ã
Function
ã¿ã€ããªã©ïŒã«ã€ããŠè©±ããŠããå Žåãå€æ°ã«å²ãåœãŠããšããã®åç
§ãã¡ã¢ãªã«ããã¢ãã¬ã¹ã«æžã蟌ãŸããŸãã
äŸãèããŠã¿ãŸãããã 次ã®ã³ãŒãã¹ããããã§ã¯ãæååã
var1
å€æ°ã«æžã蟌ãŸããŸãã ãã®åŸã
var2
ã®å€ã
var2
å€æ°ã«æžã蟌ãŸããŸãã
var1
ã«ã¯ããªããã£ãåïŒ
String
ïŒãããããã
var1
ã®æååã®ã³ããŒã
var1
ã«æžã蟌ãŸã
var1
ã ããã«ããã
var2
ã¯
var1
ãšå®å
šã«ç¬ç«ããå€æ°ãš
var2
ããšãã§ããŸããã
var1
ãšåãå€ãæ ŒçŽããŸãã
var1
æ°ããå€ã
var1
ã
var1
ã¯åœ±é¿ããŸããã
let var1 = 'My string'; let var2 = var1; var2 = 'My new string'; console.log(var1);
次ã«ããªããžã§ã¯ããæäœããäŸãèããŠã¿ãŸãããã
let var1 = { name: 'Jim' } let var2 = var1; var2.name = 'John'; console.log(var1);
ã芧ã®ãšãããããã§ã¯
var2
å€æ°ã䜿çšããŠããŸãããåããªããžã§ã¯ããžã®åç
§ãä¿åããŠããããã
var1
å€æ°ã«åæ ãããŸãã ãªããžã§ã¯ããä¿åããå€æ°ãããªããã£ãåã®å€ãä¿åããå€æ°ãšåãããã«æ¯ãèããšèª°ããå€æããå Žåãå®éã®ã³ãŒãã§ãããäœã«ã€ãªãããæ³åããã®ã¯ç°¡åã§ãã ããã¯ãããšãã°ãæž¡ããããªããžã§ã¯ãå€ã§åäœããããã«èšèšãããé¢æ°ãäœæãããã®é¢æ°ã誀ã£ãŠãã®å€ãå€æŽããå Žåãªã©ãç¹ã«äžå¿«ã§ãã
2.ç絡
ã¯ããŒãžã³ã°ã¯ââãå€æ°ã䜿çšããŠä¿è·ãããäœæ¥ãæŽçã§ããããã«ããJavaScriptã®éèŠãªãã¶ã€ã³ãã¿ãŒã³ã§ãã 次ã®äŸã§ã¯ã
createGreeter()
é¢æ°ã¯ãæåå
Hello
ãå«ã
greeting
åŒæ°ãšãšãã«æäŸãããå
ã®åŒæ°ã«ã¢ã¯ã»ã¹ã§ããå¿åé¢æ°ãè¿ããŸãã ãã®å¿åé¢æ°ãžã®åç
§ã¯ã
sayHello
å€æ°ã«æžã蟌ãŸããŸãã ãã®åŸã
sayHello()
é¢æ°ãäœåºŠåŒã³åºããŠããåžžã«
greeting
å€ã«ã¢ã¯ã»ã¹ã§ããŸãã ãã®å Žåã
greeting
ãžã®ã¢ã¯ã»ã¹ã¯å¿åé¢æ°ã®ã¿ã§ããã®ãªã³ã¯ã¯
sayHello
èšé²ãããŸãã
function createGreeter(greeting) { return function(name) { console.log(greeting + ', ' + name); } } const sayHello = createGreeter('Hello'); sayHello('Joe');
ããã¯éåžžã«ç°¡åãªäŸã§ãã çŸå®ã®äžçã«è¿ããã®ãèŠããšãããšãã°ãç¹å®ã®APIã«æ¥ç¶ããããã®é¢æ°ïŒ
apiConnect()
ãšåŒã³ãŸããã
apiConnect()
ã§ããŸããæåã«åŒã³åºããããšãã«APIã¢ã¯ã»ã¹ããŒãæž¡ãããŸãã 次ã«ããã®é¢æ°ã¯ã
apiConnect()
æž¡ãããAPIã¢ã¯ã»ã¹ããŒã䜿çšããããã€ãã®ã¡ãœãããå«ããªããžã§ã¯ããè¿ããŸãã ãã®å ŽåãããŒã¯ã¯ããŒãžã£ãŒã«ä¿åããããããã®ã¡ãœãããåŒã³åºããšãã«ãããŒãèšè¿°ããå¿
èŠã¯ãªããªããŸããã
function apiConnect(apiKey) { function get(route) { return fetch(`${route}?key=${apiKey}`); } function post(route, params) { return fetch(route, { method: 'POST', body: JSON.stringify(params), headers: { 'Authorization': `Bearer ${apiKey}` } }) } return { get, post } } const api = apiConnect('my-secret-key');
3.ç Žå£çãªå²ãåœãŠ
JavaScriptã§ç Žå£çãªå²ãåœãŠããŸã 䜿çšããŠããªãå Žåã¯ãä¿®æ£ããæãæ¥ãŸããã ç Žå£çãªå²ãåœãŠã¯ããã¡ããšããæ§æèšèªæ§é ã䜿çšããŠãªããžã§ã¯ãããããã£ãååŸããäžè¬çãªæ¹æ³ã§ãã
const obj = { name: 'Joe', food: 'cake' } const { name, food } = obj; console.log(name, food);
ãªããžã§ã¯ãã«å«ãŸããŠãããã®ãšã¯ç°ãªãæœåºãããããããã£åãå²ãåœãŠãå¿
èŠãããå Žåããããè¡ãããšãã§ããŸãã
const obj = { name: 'Joe', food: 'cake' } const { name: myName, food: myFood } = obj; console.log(myName, myFood);
次ã®äŸã§ã¯ããã¹ãã©ã¯ã¿ãªã³ã°ã䜿çšããŠã
person
ãªããžã§ã¯ãã®ããããã£ã«æ ŒçŽãããŠããå€ãã
introduce()
é¢æ°ã«æ£ç¢ºã«æž¡ããŸãã ããã¯ãæž¡ããããã©ã¡ãŒã¿ãŒãæã€ãªããžã§ã¯ãããããŒã¿ãååŸããé¢æ°ã宣èšãããšãã«ããã®æ§é ãã©ã®ããã«äœ¿çšããããã®äŸã§ãã ãšããã§ãReactã«ç²ŸéããŠããã®ã§ããã°ããããããã§ã«ãããèŠãããšãããã§ãããã
const person = { name: 'Eddie', age: 24 } function introduce({ name, age }) { console.log(`I'm ${name} and I'm ${age} years old!`); } console.log(introduce(person));
4.ã¹ãã¬ããæŒç®å
ã¹ãã¬ããæŒç®åã¯ãæºåãã§ããŠããªã人ã«ã¯ç解ã§ããªããšæãããããªãåçŽãªæ§é ã§ãã 次ã®äŸã«ã¯ãæ°å€é
åããããæ倧å€ãæ ŒçŽãããŠããŸãã ããã«ã¯
Math.max()
ã¡ãœããã䜿çšããŸããã
Math.max()
æ¹æ³ãããããŸããã 圌ã¯ãåŒæ°ãšããŠãç¬ç«ããæ°å€ãæ³å®ããŠããŸãã é
åããèŠçŽ ãæœåºããããã«ã3ã€ã®ãã€ã³ãã®ããã«èŠããã¹ãã¬ããæŒç®åã䜿çšããŸãã
const arr = [4, 6, -1, 3, 10, 4]; const max = Math.max(...arr); console.log(max);
5.æ®ãã®ã¹ããŒãã¡ã³ã
restã¹ããŒãã¡ã³ãã䜿çšãããšãé¢æ°ã«æž¡ãããä»»æã®æ°ã®åŒæ°ãé
åã«å€æã§ããŸãã
function myFunc(...args) { console.log(args[0] + args[1]); } myFunc(1, 2, 3, 4);
6.é
åã¡ãœãã
é
åã¡ãœããã¯ãå€ãã®å ŽåãããŸããŸãªããŒã¿å€æã¿ã¹ã¯ãçŸãã解決ã§ãã䟿å©ãªããŒã«ãéçºè
ã«æäŸããŸãã StackOverflowã«é¢ãã質åã«æã
çããŸãã ãã®äžã«ã¯ããªããžã§ã¯ãã®é
åãæäœãããããã®æ¹æ³ãŸãã¯ä»ã®æ¹æ³ã«å°å¿µããŠãããã®ããããããŸãã ãã®ãããªç¶æ³ã§ã¯ãé
åã¡ãœãããç¹ã«åœ¹ç«ã¡ãŸãã
ããã§ã¯ããããã®æ¹æ³ã®ããã€ããæ€èšããŸãããããã®æ¹æ³ã¯ãäºãã«é¡äŒŒããŠãããšããååã«åºã¥ããŠããŸãã ããã§ãé
åã®ãã¹ãŠã®æ¹æ³ã«ã€ããŠèª¬æããããã§ã¯ãªãããšã«æ³šæããŠãã ããã
MDNã§å®å
šãªãªã¹ããèŠã€ããããšãã§ããŸãïŒã¡ãªã¿ã«ãããã¯ç§ã®ãæ°ã«å
¥ãã®JavaScriptãªãã¡ã¬ã³ã¹ã§ãïŒã
âMapïŒïŒãfilterïŒïŒãreduceïŒïŒã¡ãœãã
map()
ã
filter()
ããã³
reduce()
é
åã¡ãœããã䜿çšãããšãé
åãå€æããããé
åãåäžã®å€ïŒãªããžã§ã¯ãã«ããããšãã§ããŸãïŒã«ãããã§ããŸãã
map()
ã¡ãœããã¯ãåŠçãããé
åã®å€æãããå€ãå«ãæ°ããé
åãè¿ããŸãã ã©ã®ããã«æ£ç¢ºã«å€æããããã¯ããã®ã¡ãœããã«æž¡ãããé¢æ°ã§æå®ãããŸãã
const arr = [1, 2, 3, 4, 5, 6]; const mapped = arr.map(el => el + 20); console.log(mapped);
filter()
ã¡ãœããã¯èŠçŽ ã®é
åãè¿ãããã®ã¡ãœããã«æž¡ãããé¢æ°ã
true
è¿ããå€ã確èªããŸãã
const arr = [1, 2, 3, 4, 5, 6]; const filtered = arr.filter(el => el === 2 || el === 4); console.log(filtered);
reduce()
ã¡ãœããã¯ãé
åã®ãã¹ãŠã®èŠçŽ ãåŠçããçµæã§ããç¹å®ã®å€ãè¿ããŸãã
const arr = [1, 2, 3, 4, 5, 6]; const reduced = arr.reduce((total, current) => total + current); console.log(reduced);
âã¡ãœããfindïŒïŒãfindIndexïŒïŒããã³indexOfïŒïŒ
é
åã¡ãœãã
find()
ã
findIndex()
ããã³
indexOf()
ãæ··åãããããã®ã§ãã 以äžã¯ãæ©èœã®ç解ã«åœ¹ç«ã€èª¬æã§ãã
find()
ã¡ãœããã¯ãæå®ãããåºæºã«äžèŽããé
åã®æåã®èŠçŽ ãè¿ããŸãã æåã®é©åãªèŠçŽ ãèŠã€ãããã®ã¡ãœããã¯ãé
åå
ã®æ€çŽ¢ãç¶è¡ããŸããã
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const found = arr.find(el => el > 5); console.log(found);
ãã®äŸã§ã¯ãæ°å€5ãå«ãé
åèŠçŽ ã«ç¶ããã¹ãŠã®é
åèŠçŽ ãæå®ãããåºæºã«å¯Ÿå¿ããŸãããæåã®é©åãªèŠçŽ ã®ã¿ãè¿ãããããšã«æ³šæããŠãã ããã ãã®ã¡ãœããã¯ãforã«ãŒãã䜿çšããŠé
åãåæããã³åæããå Žåã«ã
break
ã¹ããŒãã¡ã³ãã䜿çšããŠãé
åå
ã«ç®çã®èŠçŽ ãèŠã€ãã£ããšãã«ãã®ãããªã«ãŒããäžæãããç¶æ³ã§éåžžã«åœ¹ç«ã¡ãŸãã
findIndex()
ã¡ãœããã¯
find()
ã«éåžžã«äŒŒãŠã
find()
ããé
åå
ã®æåã®é©åãªèŠçŽ ãè¿ã代ããã«ããã®èŠçŽ ã®ã€ã³ããã¯ã¹ãè¿ããŸãã ãã®æ¹æ³ãããããç解ããããã«ãæååå€ã®é
åã䜿çšãã次ã®äŸãèŠãŠãã ããã
const arr = ['Nick', 'Frank', 'Joe', 'Frank']; const foundIndex = arr.findIndex(el => el === 'Frank'); console.log(foundIndex);
indexOf()
ã¡ãœããã¯
findIndex()
indexOf()
ã¡ãœãããšéåžžã«äŒŒãŠããŸãããé¢æ°ã§ã¯ãªãéåžžã®å€ãåŒæ°ãšããŠåããŸãã ç®çã®é
åèŠçŽ ãæ€çŽ¢ãããšãã«è€éãªããžãã¯ãå¿
èŠãªãå Žåã«äœ¿çšã§ããŸãã
const arr = ['Nick', 'Frank', 'Joe', 'Frank']; const foundIndex = arr.indexOf('Frank'); console.log(foundIndex);
âPushïŒïŒãpopïŒïŒãshiftïŒïŒãããã³unshiftïŒïŒã¡ãœãã
push()
ã
pop()
ã
shift()
ããã³
unshift()
ã䜿çšããŠãæ°ããèŠçŽ ãé
åã«è¿œå ãããããã«ãã§ã«ååšããèŠçŽ ãé
åããæœåºããŸãã ãã®å Žåãäœæ¥ã¯é
åã®å
é ãŸãã¯æ«å°Ÿã«ããèŠçŽ ã§å®è¡ãããŸãã
push()
ã¡ãœããã䜿çšãããšãé
åã®æ«å°Ÿã«èŠçŽ ãè¿œå ã§ããŸãã é
åãå€æŽããå®äºãããšãé
åã«è¿œå ãããèŠçŽ ãè¿ããŸãã
let arr = [1, 2, 3, 4]; const pushed = arr.push(5); console.log(arr);
pop()
ã¡ãœããã¯ãé
åããæåŸã®èŠçŽ ãåé€ããŸãã é
åãå€æŽããããããåé€ãããèŠçŽ ãè¿ããŸãã
let arr = [1, 2, 3, 4]; const popped = arr.pop(); console.log(arr);
shift()
ã¡ãœããã¯ãé
åããæåã®èŠçŽ ãåé€ããŠè¿ããŸãã ãŸããåŒã³åºãããé
åãå€æŽããŸãã
let arr = [1, 2, 3, 4]; const shifted = arr.shift(); console.log(arr);
unshift()
ã¡ãœããã¯ãé
åã®å
é ã«1ã€ä»¥äžã®èŠçŽ ãè¿œå ããŸãã 圌ã¯åã³ãé
åãå€æŽããŸãã åæã«ãããã§èª¬æããä»ã®3ã€ã®ã¡ãœãããšã¯ç°ãªããé
åã®æ°ããé·ããè¿ããŸãã
let arr = [1, 2, 3, 4]; const unshifted = arr.unshift(5, 6, 7); console.log(arr);
âã¡ãœããsliceïŒïŒããã³spliceïŒïŒ
ãããã®ã¡ãœããã¯ãé
åãå€æŽããããé
åã®äžéšãè¿ãããã«äœ¿çšãããŸãã
splice()
ã¡ãœããã¯ãæ¢åã®èŠçŽ ãåé€ããããä»ã®èŠçŽ ã«çœ®ãæããããšã«ãããé
åã®å
容ãå€æŽããŸãã 圌ã¯é
åã«æ°ããèŠçŽ ãè¿œå ããããšãã§ããŸãã ãã®ã¡ãœããã¯é
åãå€æŽããŸãã
次ã®äŸã¯ãéåžžã®èšèªã§èšè¿°ããå Žåã次ã®ããã«ãªããŸããé
åäœçœ®
1
ã§ã
0
èŠçŽ ãåé€ãã
b
ãå«ãèŠçŽ ãè¿œå ããå¿
èŠããããŸãã
let arr = ['a', 'c', 'd', 'e']; arr.splice(1, 0, 'b')
slice()
ã¡ãœããã¯ãæå®ãããéå§äœçœ®ããå§ãŸããæå®ãããçµäºäœçœ®ã®åã®äœçœ®ã§çµãããèŠçŽ ãå«ãé
åã®æµ
ãã³ããŒãè¿ããŸãã åŒã³åºãæã«åæäœçœ®ã®ã¿ãæå®ãããŠããå Žåããã®äœçœ®ããéå§ããŠé
åå
šäœãè¿ããŸãã ãã®ã¡ãœããã¯é
åãå€æŽããŸããã åŒã³åºããããšãã«èšè¿°ããããã®é
åã®äžéšã®ã¿ãè¿ããŸãã
let arr = ['a', 'b', 'c', 'd', 'e']; const sliced = arr.slice(2, 4); console.log(sliced);
âã¡ãœããsortïŒïŒ
sort()
ã¡ãœããã¯ãæž¡ãããé¢æ°ã§æå®ãããæ¡ä»¶ã«åŸã£ãŠé
åããœãŒãããŸãã ãã®é¢æ°ã¯ãé
åã®2ã€ã®èŠçŽ ïŒããšãã°ããã©ã¡ãŒã¿ãŒ
a
ããã³
b
ãšããŠè¡šãããšãã§ããŸãïŒãåãåããããããæ¯èŒããŠãèŠçŽ ã亀æããå¿
èŠããªãå Žåã0ãããäœãã€ã³ããã¯ã¹ã«é
眮
a
å¿
èŠãããå Žå
a
0ãè¿ããŸã
b
ã¯è² ã®æ°ã§ããã
b
ãããäœãã€ã³ããã¯ã¹ã«é
眮ããå¿
èŠãããå Žåã¯ãæ£ã®æ°ã§ãã
let arr = [1, 7, 3, -1, 5, 7, 2]; const sorter = (firstEl, secondEl) => firstEl - secondEl; arr.sort(sorter); console.log(arr);
ãããã®æ¹æ³ãåããŠæãåºããªãå Žåã¯ãèŠããŠãããŠã倧äžå€«ã§ãã æãéèŠãªããšã¯ãæšæºã®é
åã¡ãœããã§äœãã§ãããã«ã€ããŠä»ç¥ã£ãŠããããšã§ãã ãããã£ãŠãç¹å®ã®ã¡ãœããã®æ©èœãããã«æãåºããªãå Žåããã®ã¡ãœããã«ã€ããŠç¥ã£ãŠããããšã§ãããã¥ã¡ã³ãã§å¿
èŠãªãã®ããã°ããèŠã€ããããšãã§ããŸãã
7.ãžã§ãã¬ãŒã¿ãŒ
JavaScriptãžã§ãã¬ãŒã¿ãŒã¯ãã¢ã¹ã¿ãªã¹ã¯æåã䜿çšããŠå®£èšãããŸãã
next()
ã¡ãœãããåŒã³åºããããšãã«è¿ãããå€ãæå®ã§ããŸãã ãžã§ãã¬ãŒã¿ãŒã¯ãéãããæ°ã®å€ãè¿ãããã«èšèšã§ããŸãã ãã®ãããªãžã§ãã¬ãŒã¿ããã®ãããªå€ããã¹ãŠè¿ããå Žåã
next()
次ã®åŒã³åºãã¯
undefined
ãè¿ããŸãã ãµã€ã¯ã«ã䜿çšããŠç¡å¶éã®æ°ã®å€ãè¿ãããã«èšèšããããžã§ãã¬ãŒã¿ãŒãäœæããããšãã§ããŸãã
以äžã¯ãéãããæ°ã®å€ãè¿ãããã«èšèšããããžã§ãã¬ãŒã¿ãŒã§ãã
function* greeter() { yield 'Hi'; yield 'How are you?'; yield 'Bye'; } const greet = greeter(); console.log(greet.next().value);
ãããŠãã«ãŒããéããŠç¡éã®å€ãè¿ãããã«èšèšããããžã§ãã¬ãŒã¿ãŒããããŸãã
function* idCreator() { let i = 0; while (true) yield i++; } const ids = idCreator(); console.log(ids.next().value);
8.å€ã®ç䟡æ§ïŒ==ïŒããã³å³å¯ãªç䟡æ§ïŒ===ïŒããã§ãã¯ããããã®æŒç®å
JSéçºè
ã«ãšã£ãŠãç䟡ïŒ
==
ïŒæŒç®åãšå³å¯ãªç䟡ïŒ
===
ïŒæŒç®åã®éããç解ããããšã¯éåžžã«éèŠã§ãã äºå®ã¯ãå€ãæ¯èŒããåã«æŒç®å
==
ãåã®å€æãå®è¡ãïŒäžèŠãããšå¥åŠãªçµæã«ã€ãªããå¯èœæ§ããããŸãïŒãæŒç®å
===
ã¯åå€æãå®è¡ããŸããã
console.log(0 == '0');
9.ãªããžã§ã¯ãã®æ¯èŒ
ç§ã¯ææãJSããã°ã©ãã³ã°ã®åå¿è
ãåãééããããæ¹æ³ã確èªããå¿
èŠããããŸãã ãªããžã§ã¯ããçŽæ¥æ¯èŒããããšããŸãã ãªããžã§ã¯ãããæ ŒçŽããããå€æ°ã«ã¯ããããã®ãªããžã§ã¯ãèªäœã§ã¯ãªããããããžã®åç
§ãå«ãŸããŸãã
ããšãã°ã次ã®äŸã§ã¯ããªããžã§ã¯ãã¯åãããã«èŠããŸãããçŽæ¥æ¯èŒãããšãåå€æ°ã«ã¯ç¬èªã®ãªããžã§ã¯ããžã®ãªã³ã¯ãå«ãŸããŠããããããã®ãªã³ã¯ã¯äºãã«çãããªãããããªããžã§ã¯ããç°ãªãããšãããããŸãã
const joe1 = { name: 'Joe' }; const joe2 = { name: 'Joe' }; console.log(joe1 === joe2);
ããã«ã次ã®äŸã§ã¯ãäž¡æ¹ã®å€æ°ãåããªããžã§ã¯ããžã®åç
§ãæ ŒçŽããŠããããã
joe1
ã¯
joe1
ãšçããããšã
joe2
ãŸãã
const joe1 = { name: 'Joe' }; const joe2 = joe1; console.log(joe1 === joe2);
å®éã®ãªããžã§ã¯ãæ¯èŒã®æ¹æ³ã®1ã€ã¯ãJSONæåå圢åŒãžã®äºåå€æã§ãã 確ãã«ããã®ã¢ãããŒãã«ã¯1ã€ã®åé¡ããããŸãããªããžã§ã¯ãã®çµæã®æååè¡šçŸã§ã¯ãããããã£ã®ç¹å®ã®é åºãä¿èšŒãããªããšããããšã§ãã ãªããžã§ã¯ããæ¯èŒããããä¿¡é Œæ§ã®é«ãæ¹æ³ã¯ããªããžã§ã¯ãã®è©³çŽ°ãªæ¯èŒã®ããã®ããŒã«ãå«ãç¹å¥ãªã©ã€ãã©ãªã䜿çšããããšã§ãïŒããšãã°ãããã¯
lodashã©ã€ãã©ãªã®
isEqualïŒïŒã¡ãœããã§ãïŒã
ãªããžã§ã¯ããæ¯èŒããããšã®è€éããããããç解ããç°ãªãå€æ°ã§åããªããžã§ã¯ããžã®ãªã³ã¯ãæžãããšã®èããããçµæãç解ããããã«ããã®èšäºã§èª¬æããæåã®JSã³ã³ã»ãããèŠãŠãã ããã
10.ã³ãŒã«ããã¯é¢æ°
ã³ãŒã«ããã¯é¢æ°ã¯ãåå¿è
ã«ã¯é£ããå ŽåãããããªãåçŽãªJavaScriptã®æŠå¿µã§ãã 次ã®äŸãèããŠã¿ãŸãããã ããã§ã
console.log
é¢æ°ïŒãã®ããã«âæ¬åŒ§ãªãïŒã¯ãã³ãŒã«ããã¯é¢æ°ãšããŠ
myFunc()
æž¡ãããŸãã ãã®é¢æ°ã¯ã¿ã€ããŒãèšå®ãããã®åŸ
console.log()
ãåŒã³åºããã
myFunc()
æž¡ãããæååãã³ã³ãœãŒã«ã«è¡šç€ºãããŸãã
function myFunc(text, callback) { setTimeout(function() { callback(text); }, 2000); } myFunc('Hello world!', console.log);
11.çŽæ
ã³ãŒã«ããã¯é¢æ°ãåŠç¿ããããããå Žæã§äœ¿çšãéå§ãããšãããã«ãããããã³ãŒã«ããã¯å°çãã«é¥ããŸãã ããªããæ¬åœã«ããã«ãããªã-çŽæãèŠãŠã¿ãŸãããã éåæã³ãŒãã¯ãããã¹ã«ã©ããããããšãã§ããå®è¡ãæåããåŸãé©åãªã¡ãœãããåŒã³åºããŠãããã¹ã®æ£åžžãªè§£æ±ºãã·ã¹ãã ã«äŒããäœãåé¡ãçºçããå Žåã¯ãããã瀺ãã¡ãœãããåŒã³åºããŠãããã¹ãæåŠããŸãã promiseã«ãã£ãŠè¿ãããçµæãåŠçããã«ã¯ã
then()
ã¡ãœããã䜿çšãããšã©ãŒåŠçã«ã¯
catch()
ã¡ãœããã䜿çšããŸãã
const myPromise = new Promise(function(res, rej) { setTimeout(function(){ if (Math.random() < 0.9) { return res('Hooray!'); } return rej('Oh no!'); }, 1000); }); myPromise .then(function(data) { console.log('Success: ' + data); }) .catch(function(err) { console.log('Error: ' + err); });
12. async / awaitã³ã³ã¹ãã©ã¯ã
çŽæãåŠçããåŸããããããããã«äœããå¿
èŠã«ãªããŸãã ããšãã°ãasync / awaitã³ã³ã¹ãã©ã¯ãããã¹ã¿ãŒããŸãã ããã¯çŽæã®ããã®æ§æç³è¡£ã§ãã 次ã®äŸã§ã¯ã
async
ã䜿çšããŠéåæé¢æ°ãäœæãããã®äžã§
await
ããŒã¯ãŒãã䜿çšã
await
ãgreeter
greeter
ãããŸã§åŸ
æ©
greeter
ãŸãã
const greeter = new Promise((res, rej) => { setTimeout(() => res('Hello world!'), 2000); }) async function myFunc() { const greeting = await greeter; console.log(greeting); } myFunc();
ãŸãšã
åã«ããã§è©±ããããšãããªãã«éŠŽæã¿ã®ãªããã®ã§ããã°ãããããå°ãªããšãå°ãã§ããããã®èšäºãèªãã§èªåããäžã«æé·ããå¯èœæ§ãé«ãã§ãããã ããã§æ°ãããã®ãèŠã€ããŠããªãå Žåã¯ããã®è³æãJavaScriptã®ç¥èãå®è·µããã³åŒ·åããæ©äŒãäžããŠãããããšãé¡ã£ãŠããŸãã
芪æãªãèªè
ïŒ ãã®èšäºã«è¿œå ããä»ã®JavaScriptã®æŠå¿µã¯äœã§ããïŒ