ããããçå®ãäžå¿«ãªçå®ã¯ããããã®ã³ã³ãã¯ããªãã¶ã€ã³ããã°ãã°éåžžã«åœ¹ç«ã€ãšããããšã§ãããããŠããããã¯åæã«ãéåžžã«åçŽã§ããããã¯ããããã䜿çšãããã³ãŒãã«èå³ããã人ã¯èª°ã§ãããããç¿åŸãããã®ãããªã³ãŒããç解ã§ããããšãæå³ããŸãã
ãã®æçš¿ã§ã¯ãJavaScriptãTypeScriptã«èŠããããéåžžã«äŸ¿å©ãªïŒå Žåã«ãã£ãŠã¯äžå¯è§£ãªïŒã³ã³ãã¯ããªæ§é ãããã€ãèŠãŠãããŸããããããç 究ããåŸãããªãã¯ããããèªåã§äœ¿ãããšãã§ããŸãããããã¯å°ãªããšãããªãã¯ãããã䜿ããããã®ããã°ã©ããŒã®ã³ãŒããç解ããããšãã§ããŸãã
1.ãªãã¬ãŒã¿ãŒ??
å€ããã§ãã¯ããããã®ãªãã¬ãŒã¿
null
ãšundefined
ïŒnullishåäœæŒç®åã¯ïŒ2ã€ã®çå笊ã®ããã«èŠããŸãïŒ??
ïŒããã®ãããªååã®ãããæã人æ°ã®ãããªãã¬ãŒã¿ãŒã§ãããšã¯ä¿¡ããããã§ããæ¬åœã§ããïŒ
ãã®æŒç®åã®æå³ã¯ãå·ŠåŽã®ãªãã©ã³ãã®å€ã
null
ãŸãã¯ã«çããå Žåãå³åŽã®ãªãã©ã³ãã®å€ãè¿ãããšã§ãundefined
ãããã¯ãã®ååã«ã¯ã£ãããšåæ ãããŠããŸãããããŸããããã¯äœã§ããïŒäœ¿çšæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
function myFn(variable1, variable2) {
let var2 = variable2 ?? "default value"
return variable1 + var2
}
myFn("this has ", "no default value") // "this has no default value"
myFn("this has no ") // "this has no default value"
myFn("this has no ", 0) // "this has no 0"
ããã«ã¯ããªãã¬ãŒã¿ãŒã®äœæ¥ãæŽçããããã«äœ¿çšãããã¡ã«ããºã ãšéåžžã«ãã䌌ãã¡ã«ããºã ãå«ãŸããŠããŸã
||
ãåŒã®å·ŠåŽãnull
ãŸãã¯undefined
ã«çããå ŽåãåŒã®å³åŽãè¿ãããŸãããã以å€ã®å Žåã¯ãå·ŠåŽãè¿ãããŸãããã®çµæãæŒç®åã¯??
å€æ°ã«äœããå²ãåœãŠãããšãã§ããç¶æ³ã§ã®äœ¿çšã«æé©ã§ãããnull
ãŸãã¯ãã®å€æ°ã«è©²åœããå Žåã¯ãããã€ãã®å¯Ÿçãè¬ããå¿
èŠããããŸãundefined
ã
2.æŒç®å?? =
å€æ°ã«å€ãå²ãåœãŠãããã«äœ¿çšãããæŒç®åã¯ãå€ãããå Žåã
null
ãŸãã¯undefined
ïŒè«çãã«ã®å²ãåœãŠæŒç®åïŒ2ã€ã®çå笊ã®åŸã«çããèšå·ïŒ??=
ïŒãç¶ãããã«èŠããå Žåã«ã®ã¿äœ¿çšãããŸããäžèšã®æŒç®åã®æ¡åŒµãšèããŠãã ãã??
ã
ã䜿çšããŠæžãçŽãããåã®ã³ãŒãã¹ãããããèŠãŠã¿ãŸããã
??=
ã
function myFn(variable1, variable2) {
variable2 ??= "default value"
return variable1 + variable2
}
myFn("this has ", "no default value") // "this has no default value"
myFn("this has no ") // "this has no default value"
myFn("this has no ", 0) // "this has no 0"
æŒç®åã
??=
䜿çšãããšãé¢æ°ãã©ã¡ãŒã¿ã®å€ã確èªã§ããŸãvariable2
ãã«çããnull
ãundefined
ãã®å Žåãæ°ããå€ãæžã蟌ãŸããŸãããã以å€ã®å Žåããã©ã¡ãŒã¿ãŒå€ã¯å€æŽãããŸããã
ãã¶ã€ã³ã«
??=
æ
£ããŠããªã人ã«ã¯ããã¶ã€ã³ãç解ã§ããªãããã«èŠããå Žåãããããšã«æ³šæããŠãã ããããããã£ãŠãããã䜿çšããå Žåã¯ãã³ãŒãã®é©åãªå Žæã«èª¬æä»ãã®çã解説ãè¿œå ããããšããå§ãããŸãã
3.TypeScriptã³ã³ã¹ãã©ã¯ã¿ãŒã®çç¥ããã宣èš
ãã®æ©èœã¯TypeScriptã«åºæã§ãããããã£ãŠãJavaScriptã®çŽç²ãã®æè·è ã§ããå Žåãå€ãã®ããšãèŠéããŠããŸãã ïŒãã¡ããåè«ã§ãããããã¯éåžžã®JSã«ã¯åœãŠã¯ãŸããŸããïŒã
ãåç¥ã®ããã«ãã¯ã©ã¹ã宣èšãããšãã¯ãéåžžãã¢ã¯ã»ã¹ä¿®é£Ÿåã䜿çšããŠãã¹ãŠã®ããããã£ãäžèŠ§è¡šç€ºããã¯ã©ã¹ã³ã³ã¹ãã©ã¯ã¿ãŒã§ãããã®ããããã£ã«å€ãå²ãåœãŠãŸãããã ããã³ã³ã¹ãã©ã¯ã¿ãŒãéåžžã«åçŽã§ãã³ã³ã¹ãã©ã¯ã¿ãŒã«æž¡ããããã©ã¡ãŒã¿ãŒã®å€ãããããã£ã«åçŽã«æžã蟌ãŸããå Žåã¯ãéåžžãããã³ã³ãã¯ããªæ§é ã䜿çšã§ããŸãã
ããã¯ãããã©ã®ããã«èŠãããã§ãïŒ
// ...
class Person {
private first_name: string;
private last_name: string;
private age: number;
private is_married: boolean;
constructor(fname:string, lname:string, age:number, married:boolean) {
this.first_name = fname;
this.last_name = lname;
this.age = age;
this.is_married = married;
}
}
// , ...
class Person {
constructor( private first_name: string,
private last_name: string,
private age: number,
private is_married: boolean){}
}
ã³ã³ã¹ãã©ã¯ã¿ãŒãäœæãããšãã«äžèšã®ã¢ãããŒãã䜿çšãããšãæéãç¯çŽã§ããŸããç¹ã«ãå€ãã®ããããã£ãæã€ã¯ã©ã¹ã«ãªããšã
ããã§éèŠãªããš
{}
ã¯ãã³ã³ã¹ãã©ã¯ã¿ãŒã®èª¬æã®çŽåŸã«è¿œå ããããšãå¿ããªãã§ãã ãããããã¯é¢æ°æ¬äœã®è¡šçŸã§ããããã§ããã³ã³ãã€ã©ã¯ãã®ãããªèšè¿°ã«ééããåŸããã¹ãŠãç解ããæ®ãã¯ããèªäœã§è¡ããŸããå®éãTSã³ãŒãã®æåãš2çªç®ã®ãã©ã°ã¡ã³ãã®äž¡æ¹ãæçµçã«åãJavaScriptã³ãŒãã«å€æããããšããäºå®ã«ã€ããŠè©±ããŠããŸãã
4.äžå æŒç®å
äžå æŒç®åã¯ãèªã¿ãããæ§é ã§ãããã®æŒç®åã¯
ifâŠelse
ãäœåãªæåãåãé€ããè€æ°è¡ã®æ§æã1è¡ã®æ§æã«å€ããããšãã§ãããããçãåœä»€ã®ä»£ããã«ãã䜿çšãããŸãã
// ifâŠelse
let isEven = ""
if(variable % 2 == 0) {
isEven = "yes"
} else {
isEven = "no"
}
//
let isEven = (variable % 2 == 0) ? "yes" : "no"
äžå æŒç®åã®æ§é ã§ã¯ãæåã¯è«çåŒã2çªç®ã¯
return
è«çåŒãçã®return
å Žåã«å€ãè¿ãã³ãã³ãã®ãããªãã®ã3çªç®ãè«çåŒãåœã®å Žåã«å€ãè¿ãã³ãã³ãã®ãããªãã®ã§ããäžå
æŒç®åã¯ïŒäŸã®ããã«ïŒå€ã®å²ãåœãŠã®å³åŽã§æããã䜿çšãããŸãããã©ã®é¢æ°ãåŒã³åºããããããŸãã¯ã©ã®åŒæ°ã§åããã®ãåŒã³åºãããããé¢æ°ãåŒã³åºãã¡ã«ããºã ãšããŠãèªåŸçã«äœ¿çšããããšãã§ããŸããåãé¢æ°ã¯ãè«çåŒã®å€ã«ãã£ãŠæ±ºå®ãããŸããããã¯ãããã©ã®ããã«èŠãããã§ãïŒ
let variable = true;
(variable) ? console.log("It's TRUE") : console.log("It's FALSE")
ã¹ããŒãã¡ã³ãã®æ§é ã¯åã®äŸãšåãã«èŠããããšã«æ³šæããŠãã ãããäžå æŒç®åã䜿çšããããšã®æ¬ ç¹ã¯ãå°æ¥ããã®éšåã®1ã€ïŒè«çåŒã®çã®å€ãåç §ããéšåããŸãã¯ãã®åœã®å€ãåç §ããéšåïŒãæ¡åŒµããå¿ èŠãããå Žåãéåžžã®åœä»€ã«é²ãå¿ èŠãããããšãæå³ããŸã
ifâŠelse
ã
5.ãªãã¬ãŒã¿ãŒã䜿çšããçãèšç®ãµã€ã¯ã«ã䜿çšãã||
JavaScriptïŒããã³TypeScriptã§ãïŒã§ã¯ãè«çORæŒç®åïŒ
||
ïŒã¯ç°¡ç¥èšç®ã¢ãã«ãå®è£
ããŸããã€ãŸãããšããŠè©äŸ¡ãããæåã®åŒãè¿ãtrue
ãæ®ãã®åŒã¯ãã§ãã¯ããŸããã
次ã®æãããå Žåããã®æ段ã¯ããšãã
if
è¡šçŸã¯ãexpression1
åœã®å€ïŒã«éå
ãå«ãŸããŠããfalse
ïŒãããã³expression2
-çïŒã«éå
true
ïŒãã®ã¿expression1
ãšèšç®ãããŸãexpression2
ãåŒespression3
ãšexpression4
ã¯è©äŸ¡ãããŸããã
if( expression1 || expression2 || expression3 || expression4)
if
å€æ°ã«å€ãå²ãåœãŠã
ã¹ããŒãã¡ã³ãã®å€ã§ããã®æ©äŒãå©çšã§ããŸããããã«ãããç¹ã«ãé¢æ°ãã©ã¡ãŒã¿ã§è¡šãããå€ãªã©ãfalseã§ããããšãå€æããå ŽåïŒããšãã°ãequal undefined
ïŒã«ãããã©ã«ãå€ãå€æ°ã«æžã蟌ãããšãã§ããŸãã
function myFn(variable1, variable2) {
let var2 = variable2 || "default value"
return variable1 + var2
}
myFn("this has ", " no default value") // "this has no default value"
myFn("this has no ") // "this has no default value"
ãã®äŸã¯ãæŒç®å
||
ã䜿çšããŠãé¢æ°ã®2çªç®ã®ãã©ã¡ãŒã¿ãŒã®å€ãŸãã¯ããã©ã«ãå€ã®ãããããå€æ°ã«æžã蟌ãæ¹æ³ã瀺ããŠããŸãããã ãããã®äŸãããèŠããšãå°ããªåé¡ããããŸããå®éã«ã¯variable2
ã0
ãŸãã¯ç©ºã®æååã«var2
å€ãããå Žåã0
ãšç©ºã®æååã®äž¡æ¹ãã«å€æããããããããã©ã«ãå€ãæžã蟌ãŸããŸãfalse
ã
ãããã£ãŠããã¹ãŠã®falseå€ãããã©ã«ãå€ã«çœ®ãæããå¿ èŠããªãå Žåã¯ãããŸãç¥ãããŠããªãæŒç®åã䜿çšã§ããŸã
??
ã
6.ããã«ãããã¯ã€ãºæŒç®åã
JavaScriptéçºè ã¯éåžžããããåäœã®æŒç®åã®äœ¿çšã«ç¹ã«ç±å¿ã§ã¯ãããŸãããæè¿ãæ°åã®ãã€ããªè¡šçŸãæ°ã«ããã®ã¯èª°ã§ããïŒãã ãããããã®æŒç®åã¯ãããã¬ãã«ã§åäœããããã察å¿ããã¢ã¯ã·ã§ã³ããããšãã°äžéšã®ã¡ãœãããããã¯ããã«é«éã«å®è¡ããŸãã
ãããåäœã®æŒç®åNOTïŒ
~
ïŒã«ã€ããŠèª¬æãããšãæ°å€ãåããããã32ãããã®æŽæ°ã«å€æããŠïŒãäœåãªãããããç Žæ£ãïŒããã®æ°å€ã®ããããå転ããŸããããã«ãããå€ãå€ã«x
å€æãããŸã-(x+1)
ããªãç§ãã¡ã¯ãã®ãããªæ°åã®å€æã«èå³ãããã®ã§ããïŒãŸãã2å䜿çšãããšãã¡ãœããåŒã³åºããšåãçµæãåŸããããšããäºå®Math.floor
ã
let x = 3.8
let y = ~x // x -(3 + 1), ,
let z = ~y // y ( -4) -(-4 + 1) - 3
// :
let flooredX = ~~x //
~
äŸã®æåŸã®è¡ã«
ãã2ã€ã®ã¢ã€ã³ã³ã«æ³šç®ããŠãã ãããå¥åŠã«èŠãããããããŸããããå€ãã®æµ®åå°æ°ç¹æ°ãæŽæ°ã«å€æããå¿
èŠãããå Žåããã®ææ³ã¯éåžžã«äŸ¿å©ã§ãã
7.ãªããžã§ã¯ãã®ããããã£ã«å€ãå²ãåœãŠã
ES6æšæºã®æ©èœã«ããããªããžã§ã¯ããäœæããããã»ã¹ãç¹ã«ããªããžã§ã¯ãã®ããããã£ã«å€ãå²ãåœãŠãããã»ã¹ãç°¡çŽ åãããŸãããããã®ããããã£ãšåãååã®å€æ°ã«åºã¥ããŠããããã£å€ãå²ãåœãŠãããŠããå Žåããããã®ååãç¹°ãè¿ãå¿ èŠã¯ãããŸããã以åã¯å¿ èŠã§ããã
TypeScriptã§èšè¿°ãããäŸã次ã«ç€ºããŸãã
let name:string = "Fernando";
let age:number = 36;
let id:number = 1;
type User = {
name: string,
age: number,
id: number
}
//
let myUser: User = {
name: name,
age: age,
id: id
}
//
let myNewUser: User = {
name,
age,
id
}
ã芧ã®ãšããããªããžã§ã¯ãããããã£ã«å€ãå²ãåœãŠãæ°ããã¢ãããŒãã«ãããããã³ã³ãã¯ãã§ã·ã³ãã«ãªã³ãŒããèšè¿°ã§ããŸãããããŠããã®ãããªã³ãŒãã¯ãå€ãèŠåã«åŸã£ãŠæžãããã³ãŒãïŒãã®èšäºã§èª¬æãããŠããä»ã®ã³ã³ãã¯ããªæ§é ã䜿çšããŠæžãããã³ãŒãã«ã€ããŠã¯èšããŸããïŒãããèªãã®ãé£ãããããŸããã
8.ç¢å°é¢æ°ããã®å€ã®æé»çãªæ»ã
åäžè¡ã®ç¢å°é¢æ°ããåäžè¡ã§å®è¡ãããèšç®ã®çµæãè¿ãããšããåç¥ã§ããïŒ
ãã®ã¡ã«ããºã ã䜿çšãããšãäžèŠãªåŒãåãé€ãããšãã§ããŸã
return
ããã®ææ³ã¯ãfilter
ããªã©ã®é
åã¡ãœããã«æž¡ãããç¢å°é¢æ°ã§ãã䜿çšããmap
ãŸããTypeScriptã®äŸã次ã«ç€ºããŸãã
let myArr:number[] = [1,2,3,4,5,6,7,8,9,10]
// :
let oddNumbers:number[] = myArr.filter( (n:number) => {
return n % 2 == 0
})
let double:number[] = myArr.map( (n:number) => {
return n * 2;
})
// :
let oddNumbers2:number[] = myArr.filter( (n:number) => n % 2 == 0 )
let double2:number[] = myArr.map( (n:number) => n * 2 )
ãã®ææ³ãé©çšããããšã¯ãå¿ ãããã³ãŒããããè€éã«ããããšãæå³ããããã§ã¯ãããŸããããã®ãããªæ§æã¯ãã³ãŒããå°ãã¯ãªãŒã³ã¢ããããŠãäžèŠãªã¹ããŒã¹ãäœåãªè¡ãåãé€ãããã®è¯ãæ¹æ³ã§ãããã¡ããããã®ã¢ãããŒãã®æ¬ ç¹ã¯ããã®ãããªçãé¢æ°ã®æ¬äœãæ¡åŒµããå¿ èŠãããå Žåãåã³äžæ¬åŒ§ã®äœ¿çšã«æ»ããªããã°ãªããªãããšã§ãã
ããã§èæ ®ããªããã°ãªããªãå¯äžã®ç¹åŸŽã¯ãããã§èæ ®ãããçãç¢å°é¢æ°ã®å¯äžã®è¡ã«å«ãŸããŠããã®ã¯åŒã§ãªããã°ãªããªããšããããšã§ãïŒã€ãŸããé¢æ°ããè¿ãããçµæãçæããå¿ èŠããããŸãïŒãããããªããšããã®ãããªèšèšã¯æ©èœããªããªããŸããããšãã°ãäžèšã®1è¡ã®é¢æ°ã¯æ¬¡ã®ããã«èšè¿°ã§ããŸããã
const m = _ => if(2) console.log("true") else console.log("false")
次ã®ã»ã¯ã·ã§ã³ã§ã¯ãåŒãç¶ã1è¡ã®ç¢å°é¢æ°ã«ã€ããŠèª¬æããŸããã次ã«ãäžæ¬åŒ§ãªãã§ã¯äœæã§ããªãé¢æ°ã«ã€ããŠèª¬æããŸãã
9.ããã©ã«ãå€ãæã€ããšãã§ããé¢æ°ãã©ã¡ãŒã¿ãŒ
ES6ã§ã¯ãããã©ã«ãã®æ©èœãã©ã¡ãŒã¿ãŒã«å²ãåœãŠãããå€ãæå®ããæ©èœãå°å ¥ãããŸããã以åã¯ãJavaScriptã«ã¯ãã®ãããªæ©èœããããŸããã§ããããããã£ãŠããã©ã¡ãŒã¿ã«åæ§ã®å€ãå²ãåœãŠãå¿ èŠãããç¶æ³ã§ã¯ãåæžãããæŒç®åèšç®ã®ã¢ãã«ã®ãããªãã®ã«é Œãå¿ èŠããããŸãã
||
ã
ããããä»ã§ã¯åãåé¡ãéåžžã«ç°¡åã«è§£æ±ºã§ããŸãã
// 2
// ,
function myFunc(a, b, c = 2, d = "") {
// ...
}
ã·ã³ãã«ãªã¡ã«ããºã ã§ãããããããå®éã«ã¯ããã¹ãŠãäžèŠãããšãããããããã«èå³æ·±ããã®ã§ããéèŠãªã®ã¯ãããã©ã«ãå€ã¯ãé¢æ°åŒã³åºããå«ããäœã§ãããŸããŸããããã®é¢æ°ã¯ãé¢æ°ã®åŒã³åºãæã«å¯Ÿå¿ãããã©ã¡ãŒã¿ãŒãæž¡ãããªãå Žåã«åŒã³åºãããŸããããã«ãããå¿ èŠãªé¢æ°ãã©ã¡ãŒã¿ãã¿ãŒã³ãç°¡åã«å®è£ ã§ããŸãã
const mandatory = _ => {
throw new Error("This parameter is mandatory, don't ignore it!")
}
function myFunc(a, b, c = 2, d = mandatory()) {
// ...
}
// !
myFunc(1,2,3,4)
//
myFunc(1,2,3)
ããã§ã¯ãå®éã«ã¯ãäžæ¬åŒ§ãªãã§ã¯å®è¡ã§ããªããäœææã®åã1è¡ã®ç¢å°é¢æ°ã§ããéèŠãªã®ã¯ãé¢æ°
mandatory
ãåœä»€ã䜿çšãããšããããšthrow
ã§ãã泚æããŠãã ãã-ãè¡šçŸãã§ã¯ãªããæ瀺ããããããããã¯ãé¢æ°ã«å¿
èŠãªãã©ã¡ãŒã¿ãŒãè£
åããæ©èœã®æé«äŸ¡æ Œã§ã¯ãªããšæããŸãã
10ã!!ã䜿çšããŠä»»æã®å€ãããŒã«åã«ãã£ã¹ãããŸãã
ãã®ã¡ã«ããºã ã¯ãäžèšã®æ§é ãšåãåçã§æ©èœããŸã
~~
ãã€ãŸããä»»æã®å€ãè«çåã«ãã£ã¹ãããã«ã¯ã2ã€ã®è«çæŒç®åNOTïŒ!!
ïŒã䜿çšã§ãããšããäºå®ã«ã€ããŠè©±ããŸãã
!!23 // TRUE
!!"" // FALSE
!!0 // FALSE
!!{} // TRUE
1人ã®ãªãã¬ãŒã¿ãŒã
!
ãã§ã«ãã®ã¿ã¹ã¯ã®ã»ãšãã©ã解決ããŠããŸããã€ãŸããå€ãããŒã«åã«å€æããŠãããå察ã®å€ãè¿ããŸãããããŠã2çªç®ã®æŒç®å!
ã¯èµ·ãã£ãããšãåãåãããã®å察ãè¿ããŸãããã®çµæãå
ã®å€ãããŒã«åã«å€æãããŸãã
ãã®çãæ§é ã¯ãããŸããŸãªç¶æ³ã§åœ¹ç«ã¡ãŸãããŸããå€æ°ã«å®éã®ããŒã«å€ãå²ãåœãŠãããŠããããšã確èªããå¿ èŠãããå ŽåïŒããšãã°ãã¿ã€ãã®TypeScriptå€æ°ã«ã€ããŠè©±ããŠããå Žå
boolean
ïŒã次ã«ã===
ãŸãã¯ãšäœãã®å³å¯ãªæ¯èŒïŒã䜿çšïŒãå®è¡ããå¿
èŠãããtrue
å Žåfalse
ã
11.æ§æã®ç Žå£ãšæ¡æ£
ãã®ã»ã¯ã·ã§ã³ã®ã¿ã€ãã«ã§èšåãããŠããã¡ã«ããºã ã«ã€ããŠã¯ã話ãåãããšãã§ããŸããéèŠãªã®ã¯ãæ£ãã䜿çšããã°ãéåžžã«èå³æ·±ãçµæã«ã€ãªããå¯èœæ§ããããšããããšã§ããããããããã§ã¯ããŸãæ·±ãã¯è¡ããŸããããããã䜿çšããŠããã€ãã®åé¡ã®è§£æ±ºãåçŽåããæ¹æ³ã説æããŸãã
âç Žå£ãªããžã§ã¯ã
ãªããžã§ã¯ãããããã£ã®è€æ°ã®å€ãéåžžã®å€æ°ã«æžã蟌ããšãã課é¡ã«çŽé¢ããããšããããŸããïŒãã®ã¿ã¹ã¯ã¯éåžžã«äžè¬çã§ããããšãã°ããããã®å€ãæäœããå¿ èŠãããå ŽåïŒããšãã°ãå€ãå€æŽããããšã«ãã£ãŠïŒãåæã«å ã®ãªããžã§ã¯ãã«ä¿åãããŠãããã®ã«åœ±é¿ãäžããŸããã
ãªããžã§ã¯ãã®éæ§é åã䜿çšãããšãæå°éã®ã³ãŒãã䜿çšããŠåæ§ã®åé¡ã解決ã§ããŸãã
const myObj = {
name: "Fernando",
age: 37,
country: "Spain"
}
// :
const name = myObj.name;
const age = myObj.age;
const country = myObj.country;
//
const {name, age, country} = myObj;
TypeScriptã䜿çšããããšã®ãã人ãªã誰ã§ãããã®æ§æã説æã§èŠãããšãããã§ããã
import
ãããã«ããããããžã§ã¯ãã®åååãå€ãã®äžèŠãªé¢æ°ã§æ±æããããšãªããåã
ã®ã©ã€ãã©ãªã¡ãœãããã€ã³ããŒãã§ããŸãã
import { get } from 'lodash'
ããšãã°ããã®åœä»€ã§ã¯ãã©ã€ãã©ãªãã
lodash
ã¡ãœããã®ã¿ãã€ã³ããŒãã§ããŸãget
ãåæã«ããã®ã©ã€ãã©ãªã®ä»ã®ã¡ãœããã¯ãããžã§ã¯ãã®åååã«åé¡ãããŸããããããŠããã®äžã«ã¯ãããããããŸãã
âæ§æãåºããæ¢åã®ãã®ã«åºã¥ããŠæ°ãããªããžã§ã¯ããšé åãäœæãã
SpreadïŒ
âŠ
ïŒæ§æã䜿çšãããšãæ¢åã®ãã®ã«åºã¥ããŠæ°ããé
åãšãªããžã§ã¯ããäœæããã¿ã¹ã¯ãç°¡çŽ åã§ããŸããããã§ããã®ã¿ã¹ã¯ã¯ãæåéã1è¡ã®ã³ãŒããèšè¿°ããç¹å¥ãªã¡ãœããã䜿çšããã«è§£æ±ºã§ããŸãã次ã«äŸã瀺ããŸãã
const arr1 = [1,2,3,4]
const arr2 = [5,6,7]
const finalArr = [...arr1, ...arr2] // [1,2,3,4,5,6,7]
const partialObj1 = {
name: "fernando"
}
const partialObj2 = {
age:37
}
const fullObj = { ...partialObj1, ...partialObj2 } // {name: "fernando", age: 37}
ãã®ã¢ãããŒãã䜿çšããŠãªããžã§ã¯ããããŒãžãããšããããã®ããããã£ãåãååã§äžæžããããããšã«æ³šæããŠãã ãããããã¯ã¢ã¬ã€ã«ã¯é©çšãããŸãããç¹ã«ãããŒãžãããé åã®å€ãåãã§ããå Žåããããã¯ãã¹ãŠçµæã®é åã«ãªããŸããç¹°ãè¿ããåãé€ãå¿ èŠãããå Žåã¯ãããŒã¿æ§é ã䜿çšããããšã«é Œãããšãã§ããŸã
Set
ã
âç Žå£ãšæ¡æ£æ§æã®çµã¿åãã
ç Žæ£ã¯ãspreadæ§æãšçµã¿åãããŠäœ¿çšââã§ããŸããããã«ãããèå³æ·±ãå¹æãåŸãããšãã§ããŸããããšãã°ãé åã®æåã®èŠçŽ ãåé€ããæ®ãã¯ãã®ãŸãŸã«ããŠãããŸãïŒãªã¹ãã®æåãšæåŸã®èŠçŽ ã®äžè¬çãªäŸã®ããã«ããã®å®è£ ã¯Pythonãä»ã®èšèªã§èŠã€ããããšãã§ããŸãïŒããŸããããšãã°ããªããžã§ã¯ãããããã€ãã®ããããã£ãæœåºããæ®ãã¯ãã®ãŸãŸã«ããŠããããšãã§ããŸããäŸãèããŠã¿ãŸãããïŒ
const myList = [1,2,3,4,5,6,7]
const myObj = {
name: "Fernando",
age: 37,
country: "Spain",
gender: "M"
}
const [head, ...tail] = myList
const {name, age, ...others} = myObj
console.log(head) //1
console.log(tail) //[2,3,4,5,6,7]
console.log(name) //Fernando
console.log(age) //37
console.log(others) //{country: "Spain", gender: "M"}
å²ãåœãŠã¹ããŒãã¡ã³ãã®å·ŠåŽã«äœ¿çšãããŠãã3ã€ã®ãããã¯ãæåŸã®é ç®ã«é©çšããå¿ èŠãããããšã«æ³šæããŠãã ãããæåã«ã¹ãã¬ããæ§æã䜿çšããŠãããåã ã®å€æ°ãèšè¿°ããããšã¯ã§ããŸããã
const [...values, lastItem] = [1,2,3,4]
ãã®ã³ãŒãã¯æ©èœããŸããã
çµæ
ä»æ¥ã話ããããã®ãšåæ§ã®ãã¶ã€ã³ãä»ã«ããããããããŸãããããããããã䜿çšãããšãã³ãŒããã³ã³ãã¯ãã«ãªãã»ã©ã䜿çšãããŠããçç¥ãããæ§é ã«æ £ããŠããªã人ã«ãšã£ãŠã¯èªã¿ã«ãããªãããšãèŠããŠãã䟡å€ããããŸãããããŠããã®ãããªæ§æã䜿çšããç®çã¯ãã³ãŒããçž®å°ããããé«éåãããããããšã§ã¯ãããŸããããã®ç®æšã¯ãã³ãŒãããäžèŠãªæ§é ãåé€ãããã®ã³ãŒããèªã人ã®ç掻ã楜ã«ããããšã ãã§ãã
ãããã£ãŠããã¹ãŠã®äººãæºè¶³ãããããã«ãã³ã³ãã¯ããªæ§æãšéåžžã®èªã¿åãå¯èœãªã³ãŒãã®éã®å¥å šãªãã©ã³ã¹ãç¶æããããšããå§ãããŸããã³ãŒããèªãã§ããã®ã¯ããªãã ãã§ã¯ãªãããšãåžžã«èŠããŠãã䟡å€ããããŸãã
JavaScriptããã³TypeScriptã³ãŒãã§äœ¿çšããã³ã³ãã¯ããªæ§é ã¯äœã§ããïŒ