ããã«ã¡ã¯ãå
¥ç¤¾3å¹´ç®ã®è¥¿ã¶è°·ã§ãã
社å
ç ä¿®ã§TypeScriptãå¦ãã ã®ã§ãä»åã¯åå¿é²ã¨ãã¦å¦ãã ãã¨ãããã¤ãæ¸ãã¦ããã¾ãã
çè
èªèº«ãåå¦è
ã ã£ãã®ã§ãåå¦è
åãã«æ¸ãã¦ããããã¨æãã¾ãã
å¦ç¿ã¡ã¢
夿°å®£è¨
ã¾ãã夿°å®£è¨æã«æ³¨æãããã¨ã«ã¤ãã¦ã§ãã
夿°ã®åã¯å¤æ°å®£è¨æï¼ã³ã³ãã¤ã«æï¼ã«æ±ºã¾ãã®ã§ããã®æã«åã®å®£è¨ãããªãã¨åæã«anyåã«ãªã£ã¦ãã¾ããã¨ã«æ³¨æãã¾ãããã
ã©ããããã¨ãã以ä¸ã®ä¾ãè¦ã¦ã¿ã¾ãããã
ä¾ï¼stringåã®å¤æ°å®£è¨
//åæ³¨éï¼åæå¤ä»£å ¥ let value1: string = "abc"; //åæ³¨é let value2: string; //åæå¤ä»£å ¥ let value3 = "abc";
ä¸è¨ã®ä¾ã§å®£è¨ãã夿°ã¯ã¡ããã¨stringåã®å¤æ°ã¨ãã¦å®£è¨ããã¦ãã¾ãã
ã§ã¯ããã®ãã¿ã¼ã³ã¯ã©ãã§ããããã
let value4; value4 = 10; value4 = "abc";
Javaã®æè¦ã§ããã¨ãã¾ã1è¡ç®ã®æç¹ã§ã¢ã¦ããªæ°ããã¦ãã¾ãã¾ãã
TypeScriptã§ã¯1è¡ç®ã®ãããªæ¸ãæ¹ãã§ãã¾ãããããã§å®£è¨ããã夿°ã¯anyåã«ãªã£ã¦ãã¾ãã¾ãã
夿°ãanyåã«ãªã£ã¦ãã¾ãã¨ã2,3è¡ç®ã®ããã«ããããªåã®å¤ã夿°ã«ä»£å
¥ãããã¨ãã§ããããã«ãªã£ã¦ãã¾ãã¾ãã
æå³ãããã®ãããªå¤æ°å®£è¨ããã¦ãã¾ã£ãå ´åãéçåä»ãè¨èªã§ããTypeScriptã®è¯ããæ¶ãã¦ãã¾ãå¯è½æ§ãããã¾ãã
å®éã«éçºãè¡ã£ã¦ããéã«å宣è¨ããã£ããããã¦ããããã½ã¼ã¹ãèªãã æã«çè§£ãã«ãããã¨ãããã¾ããã
ã½ã¼ã¹ã®å¯èªæ§ã¨ããé¨åã§ãæèãããã¨ããã§ãã
ã¾ãã以ä¸ã®åãã«ã¤ãã¦ã注æãããã§ãã
TypeScriptã§ã¯ãããã¯å
ã§å¤æ°ã®å¤ã䏿¸ããã¦å¦çãæ¸ããã¨ãã§ãã¦ãã¾ãã¾ãã
以ä¸ã®ä¾ãè¦ã¦ãã ããã
// 夿°å®£è¨
let value5 = 10;
// ifæãããã¯å
if (true) {
// ifæã®å¤ã§å®ç¾©ãã夿°ã®å¤ã䏿¸ã
let value5 = 11;
console.log(`ifæã®ä¸ã¯value5=${value5}`);
}
// ifæãããã¯å¤
console.log(`ifæã®å¤ã¯value5=${value5}`);
ã§ã¯ãifæã®ä¸ã¨å¤ã§ããããã³ã³ã½ã¼ã«åºåããçµæã¯ããããã©ã®ããã«ãªãã®ã§ããããï¼
çµæã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
ifæã®ä¸ã¯value5=11 ifæã®å¤ã¯value5=10
ã¤ã¾ãããããã¯å
ã®å¦çã§ã¯å¤æ°ã®å¤ã䏿¸ããã¦ãå¦çãå®è¡ã§ãã¦ãã¾ãã¨ãããã¨ã«ãªãã¾ãã
çè
ããã®ä»æ§ãç¥ã£ãæãæåã«æã£ããã¨ã¯ãããã¯äºæ
ãèµ·ãããã ãªãããã§ããã
ããå¦çå
ã®ä¸ã ã夿°ã®å¤ã䏿¸ããã¦å¦çãè¡ãã¨ãããã¨ã«éåæãããªãããã¾ãã
å®éã«éçºããéã¯ãã®ãããªä»æ§ããããã¨ã«æ³¨æãã¦éçºãé²ãã¦ããããã¨æãã¾ããã
颿°å®£è¨
TypeScriptã§ã®é¢æ°å®£è¨ã®ãã¿ã¼ã³ã¯3ã¤ããã¾ãã
ã1ã functionã¹ãã¼ãã¡ã³ã
function sample1(a: number, b: number): number {
return a + b;
}
ã2ã 颿°ãªãã©ã«
const sample2 = function (a: number, b: number): number {
return a + b;
}
ã3ã arrow颿°
const sample3 = (a: number, b: number): number => {
return a + b;
}
ããããã®ã¡ã½ãããå¼ã³åºãã¦çµæãè¦ã¦ã¿ã¾ãã
console.log(sample1(1, 2)); >>3 console.log(sample2(1, 2)); >>3 console.log(sample3(1, 2)); >>3
åãçµæã«ãªãã¾ãããã¤ã¾ããã©ã®æ¸ãæ¹ã§ãåãåãããããã¨ãåããã¾ãã
å¦çã®æ¸ãæããä¸å¯ã§ãããå¦ããthisãã¼ã¯ã¼ããæã対象ãç°ãªããªã©ã®éãã¯ãããã®ã®ã
ãã®æã¯ãã®é¢æ°ã使ç¨ããã¹ãï¼ã¨ãã£ããããªä½¿ãåãã¯ãã¾ãããã¾ããã
ããã¦ããã°ãç°¡æ½ã«å¯èªæ§ã®é«ãã¡ã½ãããæ¸ããã¨ãã§ããã3ããä»å¾ä¸»æµã®æ¸ãæ¹ã«ãªãã®ã§ã¯ãªãããªã¨æãã¾ãã
颿°ãªãã©ã«ãarrow颿°ã®æ¸ãæ¹ãã¡ã½ãã宣è¨ã§ãããã¨ã¯ãæ£ç´åè¦ã§ã¯ããããªã人ãå¤ãã¨æãã¾ãã
ã©ã®æ¸ãæ¹ã®ã³ã¼ããè¦ãã¨ãã¦ã対å¿ã§ããããã«ãã¦ããå¿
è¦ãããã¾ãã
ãããããªå宣è¨
ã1ãã¦ããªã³åï¼è¤æ°ã®åãæã¤åï¼
ä¾ã§ã¯stringåã¨numberåãæã¤åã宣è¨ãã¦ãã¾ãã
type Multipletypes = string | number; let value6: Multipletypes = 100;
ã2ãåæ
å ±ããã£ãé
å
ä¾ã§ã¯stringåã¨numberåãæã¤é
åã®åã宣è¨ãã¦ãã¾ãã
type Tuple = [string, number]; let value7: Tuple = ["abc", 10];
ã3ãããããã£ãæã£ãå
ä¾ã§ã¯stringåã®ããããã£ã¨numberåã®ããããã£ãæã¤åã宣è¨ãã¦ãã¾ãã
ããã¯å®éã®éçºã§ããã使ç¨ããå®£è¨æ¹æ³ã§ãã
ä¸è¦ããã¨interfaceã§å®£è¨ããå ´åã¨åãããã«æããããããã¾ããããç¶æ¿ãååã§ã®å®£è¨ãããéã®åããç°ãªã£ã¦ãã¾ãã
ä¾ãã°ãinterfaceã¯ç¶æ¿ãå¯è½ã§ããã3ãã®å®£è¨æ¹æ³ã§ã¯ç¶æ¿ããããã¨ãã§ãã¾ããã
ã¾ããinterfaceã¯ååã®å®£è¨ãè¡ããã¨ãã§ãã¾ããã3ãã®å®£è¨æ¹æ³ã§ã¯ååã®å®£è¨ããããã¨ãã§ãã¾ããã
å人çã«ã¯ãåãã®éã以å¤ã«ã以ä¸ã®ãããªèãã§ä½¿ãåãããã¦ã¿ãã®ãè¯ãã¨æãã¾ãã
â ããããã£ã®åãããªããã£ãåï¼stringãnumberãªã©ã®åºæ¬ã®åï¼ã®ã¿ã®å ´åï¼typeã§å®£è¨ãã
âæ¢åã®åãçµã¿åããã¦åãåå®ç¾©ãã¦ããã¤ã¡ã¼ã¸ã«ãªã
â¡ããããã£ã®åããªãã¸ã§ã¯ãåï¼èªåã§å®ç¾©ããåï¼ã®å ´åï¼interfaceã§å®£è¨ãã
âæ°ãã«åãå®ç¾©ããã¨ããã¤ã¡ã¼ã¸ã«ãªã
ãããããªèãæ¹ãããã¨æãã¾ãã®ã§ããããªèãæ¹ããããã ï¼ã¨ããé¢¨ã«æã£ã¦ããã ããã°ã¨æãã¾ãã
type Props = {
field1: string;
field2: number;
};
let value8: Props = { field1: "abc", field2: 100 };
ã4ãæåãªãã©ã«åï¼å
·ä½çãªå¤ãã®ãã®ï¼ã®ã¦ããªã³å
ä¾ã§ã¯å£ç¯ãæååã§æã¤åã宣è¨ãã¦ãã¾ãã
å
¥ãæååãæ±ºã¾ã£ã¦ããæã¯stringåã®å¤æ°ã宣è¨ãããããã
ãã®ããã«å®£è¨ããã¨ã©ããªæååãå
¥ããæç¢ºã«ãªãã®ã§ã½ã¼ã¹ã®å¯èªæ§ãä¸ããã¾ãã
ã¾ããæ³å®ããæåå以å¤ãå
¥ã£ã¦ãããã¨ããªãã®ã§ã¨ã©ã¼ãèµ·ããã«ããã¨ããã¡ãªãããããã¾ãã
type Season = "spring" | "summer" | "autumn" | "winter"; let value9: Season = "summer";
ããã¾ããæåå以å¤ã§ã使ããã¨ãã§ãã
ãã¡ãã¯ãã¾ãã§ããããã®ãããªçµã¿åããã§å¤æ°å®£è¨ããããã¨ãã§ãã¾ãã
type Numbers = 1 | 2 | string; let value10: Numbers = 1;
ãããã«
ç¾å¨ã¯angularã§ããã³ãã¨ã³ãã®éçºãè¡ã£ã¦ãã¾ãã
angularã®çè§£ããããã¨ã«ãããªãè¦å´ãã¾ãããã
å®éã«éçºãã¦ããæã¯TypeScriptã®åºæ¬çãªä»æ§ã®ã¨ããã§è©°ã¾ããã¨ãå¤ãã£ãå°è±¡ã§ãã
åºç¤ã¯å¤§åã¨ãããã¨ã宿ãã¾ããã
æå¾ã¾ã§ãèªã¿ããã ããããã¨ããããã¾ããã