JavaScript ã®å¤ã¯å¸¸ã«ç¹å®ã®åã§ããä¾ãã°ãæååãæ°å¤ã§ãã
JavaScript ã«ã¯8ã¤ã®åºæ¬çãªãã¼ã¿åãããã¾ããããã§ã¯åºæ¬ãå¦ã³ã次ã®ãã£ãã¿ã¼ã§ãããã®è©³ç´°ã«ã¤ãã¦è©±ãã¾ãããã
ãªãã夿°ã¯ã©ããªãã¼ã¿ã§ãå ¥ãããã¨ãã§ãã¾ãã夿°ã¯ããæç¹ã§ã¯æååã§ããã®å¾æ°å¤ãè¨å®ãããã¨ãã§ãã¾ã:
// ã¨ã©ã¼ãªã
let message = "hello";
message = 123456;
ãã®ãããªãã¨ãã§ããããã°ã©ãã³ã°è¨èªã¯ âåçåä»ãâ ã¨å¼ã°ãããã¼ã¿åã¯ããã¾ããã夿°ã¯ãã®ã©ãã«ããã¤ã³ããããªããã¨ãæå³ãã¾ãã
æ°å¤
let n = 123;
n = 12.345;
æ°å¤ åã¯æ´æ°ã¨æµ®åå°æ°ç¹ä¸¡æ¹ã«ä½¿ããã¾ãã
æ°å¤ã«é¢ããå¤ãã®æä½ãããã¾ãã e.g. ä¹ç® *, é¤ç® /, å ç® +, æ¸ç® - ãªã©ã
éå¸¸ã®æ°å¤ã«å ãã¦ããããã®ã¿ã¤ãã«å±ãã âç¹å¥ãªæ°å¤åâ ãããã¾ãã: Infinityã -Infinityã NaN.
-
Infinityã¯æ°å¦çãªç¡é大 â ã表ãã¾ããã©ã®å¤ããã大ããç¹å¥ãªå¤ã§ããã¼ãã«ããé¤ç®ã§ãããå¾ããã¨ãã§ãã¾ãã:
alert( 1 / 0 ); // ç¡é大ãããã¯ãåã«ã³ã¼ãã«ç´æ¥æ¸ããã¨ãã§ãã¾ã:
alert( Infinity ); // ç¡é大 -
NaNã¯è¨ç®ä¸ã®ã¨ã©ã¼ã表ãã¾ããæ£ãããªããããã¯æªå®ç¾©ã®æ°å¦çãªæä½ã®çµæã§ããä¾:alert( "not a number" / 2 ); // NaN, ãã®ãããªé¤ç®ã¯èª¤ãã§ãNaNã¯ç²çæ§ã§ããNaN以éã¯ã©ã®ãããªæä½ããã¦ãNaNã«ãªãã¾ã:alert( "not a number" / 2 + 5 ); // NaNãã®ãããæ°å¦çãªè¡¨ç¾ã®ä¸ã®ã©ããã«
NaNãããå ´åãçµæå ¨ä½ã«ä¼æ¬ãã¾ãã
JavaScriptã§ã¯æ°å¦ãããã®ã¯å®å ¨ã§ããã¼ãã«ããé¤ç®ãæ°å¤ã§ã¯ãªãæååãæ°å¤ã¨ãã¦æ±ãããªã©ä½ã§ãã§ãã¾ãã
ã¹ã¯ãªããã¯è´å½çãªã¨ã©ã¼ï¼âæ»âï¼ã§æ¢ã¾ããã¨ã¯ããã¾ããã ææªã®å ´åã§ã NaN ã¨ããçµæã«ãªãã¾ãã
ç¹å¥ãªæ°å¤ã¯æ£å¼ã«ã¯ âæ°å¤â åã«æå±ãã¾ãããã¡ããã常èã§ã¯æ°å¤ã§ã¯ããã¾ãããã
ãã£ãã¿ã¼ æ°å¤ ã§ããæ°å¤ã®åä½ã«ã¤ãã¦è¦ã¦ããã¾ãã
BigInt
JavaScript ã§ã¯ãâæ°å¤â å㯠(253-1) (ã¤ã¾ã 9007199254740991) ãã大ããããããã¯è² å¤ã§ããã° -(253-1) ããå°ããæ´æ°ã表ç¾ãããã¨ãã§ãã¾ããããããã¯å
é¨è¡¨ç¾ã«èµ·å ããæè¡çãªå¶éã§ãã
ã»ã¨ãã©ã®ç®çã§ã¯ããã§ååã§ãããå ´åã«ãã£ã¦ã¯é常ã«å¤§ããªæ°ãå¿ è¦ã«ãªãã¾ããä¾ãã°æå·åããã¤ã¯ãç§ã®ç²¾åº¦ã®ã¿ã¤ã ã¹ã¿ã³ãã§ãã
BigInt åã¯ä»»æã®é·ãã®æ´æ°ã表ç¾ããããã«ãæè¿è¨èªã«è¿½å ãããåã§ãã
BigInt ã®å¤ã¯æ´æ°å¤ã®æ«å°¾ã« n ã追å ãããã¨ã§ä½æããã¾ã:
// æ«å°¾ã® "n" 㯠BigInt ãæå³ãã¾ã
const bigInt = 1234567890123456789012345678901234567890n;
BigInt ã®æ°å¤ã¯ãã£ãã«å¿
è¦ã¨ãããªãã®ã§ããã§ã¯èª¬æãã¾ããããå¥ã®ãã£ãã¿ã¼ BigInt ã§è¨è¼ãã¦ãã¾ãããã®ãããªå¤§ããªæ°å¤ãå¿
è¦ãªã¨ãã¯åç
§ãã¦ãã ããã
ç¾æç¹ã§ã¯ãBigInt 㯠Firefox/Chrome/Edge/Safari ã§ãµãã¼ãããã¦ãã¾ãããIE ã§ã¯ãµãã¼ãããã¦ãã¾ããã
MDN BigInt compatibility table ã§ãã©ã®ãã¼ã¸ã§ã³ã®ãã©ã¦ã¶ããµãã¼ããã¦ããã確èªã§ãã¾ãã
æåå
JavaScriptã®æååã¯å¼ç¨ç¬¦ã§å²ãå¿ è¦ãããã¾ãã
let str = "Hello";
let str2 = 'Single quotes are ok too';
let phrase = `can embed ${str}`;
JavaScriptã§ã¯3種é¡ã®å¼ç¨ç¬¦ãããã¾ãã
- ããã«ã¯ã©ã¼ã:
"Hello". - ã·ã³ã°ã«ã¯ã©ã¼ã:
'Hello'. - ããã¯ã¯ã©ã¼ã:
`Hello`.
ããã«/ã·ã³ã°ã«ã¯ã©ã¼ã㯠âã·ã³ãã«ãªâ å¼ç¨ç¬¦ã§ããJavaScriptã®ä¸ã§ã¯ãããã«éãã¯ããã¾ããã
ããã¯ã¯ã©ã¼ãã¯ âæ¡å¼µæ©è½â ã®å¼ç¨ç¬¦ã§ãã夿°ã ${â¦} ã®ä¸ã«ã©ãããããã¨ã§ã夿°ãåãè¾¼ã¿æååã®ä¸ã§è¡¨ç¾ãããã¨ãã§ãã¾ãããã¨ãã°:
let name = "John";
// 夿°ãåãè¾¼ã¾ããå ´å
alert( `Hello, ${name}!` ); // Hello, John!
// å¼ãåãè¾¼ã¾ããå ´å
alert( `the result is ${1 + 2}` ); // çµæã¯ 3
${â¦} ã®ä¸ã®è¡¨ç¾ã¯è©ä¾¡ãããçµæã¯æååã®ä¸é¨ã«ãªãã¾ããããã«ã¯ä½ã§ãç½®ããã¨ãã§ãã¾ã: name ã®ãããªå¤æ°ã1 + 2 ã®ãããªç®è¡è¡¨ç¾ãã¾ãã¯ããè¤éãªãã®ãæ¸ããã¨ãã§ãã¾ãã
ããã¯ããã¯ã¯ã©ã¼ãã§ã®ã¿å¯è½ãªãã¨ã«çæãã¦ãã ãããä»ã®ã¯ã©ã¼ãã¯ãã®ãããªåãè¾¼ã¿ã¯è¨±å®¹ãã¾ãã!
alert( "the result is ${1 + 2}" ); // çµæã¯ ${1 + 2} ã§ã(ããã«ã¯ã©ã¼ãã¯ä½ããã¾ãã)
ãã£ãã¿ã¼æåå ã§ãããæ·±ãæååã®èª¬æããã¾ãã
è¨èªã«ãã£ã¦ã¯ã1æåã®ããã®ç¹å¥ãª âæåâ åãããã¾ãããã¨ãã°ãCè¨èªãJavaã§ã¯ããã㯠char ã§ãã
JavaScriptã§ã¯ãã®ãããªåã¯ããã¾ãããstring åã®1ã¤ãªã ãã§ããæååã¯åä¸ã®æåã¾ãã¯è¤æ°ã®æåããæ§æããã¾ãã
boolean (è«çå)
boolean åã¯2ã¤ã®å¤ã ããæã¡ã¾ã: true 㨠false
ãã®åã¯é常 yes/no ã®å¤ãæ ¼ç´ããããã«ä½¿ããã¾ã: true 㯠âyesâ ãæå³ãã false 㯠âno, æ£ãããªãâ ãæå³ãã¾ãã
ä¾:
let nameFieldChecked = true; // yes, ååãã£ã¼ã«ãã¯ãã§ãã¯ããã¦ãã
let ageFieldChecked = false; // no, å¹´é½¢ãã£ã¼ã«ãã¯æªãã§ãã¯
Boolean å¤ã¯æ¯è¼ã®çµæã¨ãã¦ã使ããã¾ã:
let isGreater = 4 > 1;
alert( isGreater ); // true (æ¯è¼çµæã¯ "yes" ã§ã)
å¾ã»ã©ãã£ãã¿ã¼è«çæ¼ç®åã§booleanã®ãã詳細ã説æãã¾ãã
ânullâ å¤
ç¹æ®ãª null å¤ã¯ä¸ã§è¿°ã¹ãã©ã®åã«ãå±ãã¾ããã
ããã¯èªèº«ã®å¥ã®åãå½¢æããnull å¤ã ããå«ã¿ã¾ãã
let age = null;
JavaScriptã§ã¯ã null ã¯ä»ã®è¨èªã®ãã㪠âåå¨ããªããªãã¸ã§ã¯ãã¸ã®åç
§â ã¾ã㯠ânull ã¸ã®ãã¤ã³ã¿â ã§ã¯ããã¾ããã
ããã¯ã âç¡ãâãâ空â ã¾ã㯠â䏿ãªå¤â ã¨è¨ã£ãæå³ãæã¤ç¹å¥ãªå¤ã§ãã
ä¸ã®ã³ã¼ãã¯ã age ã¯ä½ããã®çç±ã§ä¸æãªå¤ãããã¯ç©ºã§ãããã¨ãè¿°ã¹ã¦ãã¾ãã
âundefinedâ å¤
ç¹æ®ãªå¤ undefined ãå¥ã«æ±ããã¾ããnull ã®ããã«ãããèªèº«ã®åãæã¡ã¾ãã
undefined ã®æå³ã¯ âå¤ã¯ä»£å
¥ããã¦ãã¾ããâ ã§ãã
ããã夿°ã¯å®£è¨ããã¦ããã代å
¥ããã¦ããªãå ´åããã®å¤ã¯æ£ç¢ºã«ã¯ undefined ã§ã:
let x;
alert(x); // "undefined" ã表示
æè¡çã«ã¯ã©ã®å¤æ°ã«ã undefined ã代å
¥ãããã¨ãã§ãã¾ãã
let age = 100;
// å¤ã undefined ã«å¤æ´
age = undefined;
alert(age); // "undefined"
â¦ãããããã®ããã«ããã®ã¯æ¨å¥¨ããã¾ãããä¸è¬çã«ã¯ã â空â ã â䏿ãªå¤â ã¨è¨ã£ãç¨éã§ã¯ null ã使ããundefined ã¯å¤æ°ãå²ãå½ã¦ããã¦ãããããããã¯ä¼¼ããããªç¢ºèªã®ããã«ä½¿ãã¾ãã
ãªãã¸ã§ã¯ãã¨ã·ã³ãã«
object åã¯ç¹æ®ã§ãã
ä»ã®ãã¹ã¦ã®åã¯ãå¤ã¯1ã¤ã®ãã®(æåå, æ°å¤, ã¾ãã¯ä½ã§ã)ã ããå«ãã®ã§ãâããªããã£ãâ ã¨å¼ã°ãã¾ããå¯¾ç §çã«ããªãã¸ã§ã¯ãã¯ãã¼ã¿ã®ã³ã¬ã¯ã·ã§ã³ãããè¤éãªã¨ã³ãã£ãã£ãæ ¼ç´ããããã«ä½¿ããã¾ãã
ãã®éè¦æ§ããããªãã¸ã§ã¯ãã«é¢ãã¦ã¯ããªããã£ãã«ã¤ãã¦è©³ããå¦ãã å¾ã«ããã£ãã¿ã¼ãªãã¸ã§ã¯ãã§æ±ãã¾ãã
symbol åã¯ãªãã¸ã§ã¯ãã®ä¸æãªèå¥åãä½ãã®ã«ä½¿ããã¾ããå®å
¨æ§ã®ããã«ããã§è¨åãã¦ãã¾ããããªãã¸ã§ã¯ãã®å¾ã§åå¼·ããã®ãããã§ãããã
typeof æ¼ç®å
typeof æä½ã¯ã弿°ã®åãè¿ãã¾ããç°ãªãåã®å¤ãå¥ã
ã«å¦çããããã¾ãã¯ç´ æ©ããã§ãã¯ãããã¨ãã«å½¹ç«ã¡ã¾ãã
ããã¯2ã¤ã®å½¢å¼ã®æ§æããµãã¼ããã¾ã:
- æ¼ç®åã¨ãã¦:
typeof x. - 颿°ã¹ã¿ã¤ã«:
typeof(x).
è¨ãæããã¨ãããã¯æ¬å¼§ããã£ã¦ããªãã¦ãåä½ãã¾ããçµæã¯åãã§ãã
typeof x ã®å¼ã³åºãã¯ååã®æååãè¿ãã¾ãã:
typeof undefined // "undefined"
typeof 0 // "number"
typeof 10n // "bigint"
typeof true // "boolean"
typeof "foo" // "string"
typeof Symbol("id") // "symbol"
typeof Math // "object" (1)
typeof null // "object" (2)
typeof alert // "function" (3)
æå¾ã®3è¡ã«ã¤ãã¦ã¯è¿½å ã®èª¬æãå¿ è¦ããããã¾ãã:
Mathã¯æ°å¦çãªæä½ãæä¾ããçµã¿è¾¼ã¿ãªãã¸ã§ã¯ãã§ãããã£ãã¿ã¼æ°å¤ã§å¦ã¶ã§ããããããã§ã¯ãåã«ãªãã¸ã§ã¯ãã¨ãã¦ã®ä¾ã§ããtypeof nullã®çµæã¯"object"ã§ããããã¯ééã£ã¦ãã¾ããããã¯typeofã«ããã¦ãå ¬å¼ã«èªãããã¦ããã¨ã©ã¼ã§ãäºææ§ã®ããã«ç¶æããã¦ãã¾ãããã¡ãããnullã¯ãªãã¸ã§ã¯ãã§ã¯ããã¾ãããããã¯èªèº«ã®å¥ã®åããã¤ç¹æ®ãªå¤ã§ãããªã®ã§ãç¹°ãè¿ãã¾ããããã¯è¨èªã®ã¨ã©ã¼ã§ããalertã¯è¨èªã®æ©è½ãªã®ã§ãtypeof alertã®çµæã¯"function"ã§ããæã ã¯æ¬¡ã®ãã£ãã¿ã¼ã§ function ãåå¼·ãã¾ããããã¦ãè¨èªã®ä¸ã«ã¯ç¹å¥ãª âfunctionâ åããªããã¨ããããã§ããããfunction ã¯ãªãã¸ã§ã¯ãåã«å±ãã¾ãããããtypeofã¯ããããå¥ã ã«æ±ãã¾ããæ£å¼ã«ã¯ããã¯æ£ããããã¾ããããå®éã«ã¯ã¨ã¦ã便å©ã§ãã
ãµããª
JavaScriptã«ã¯7ã¤ã®åºæ¬åãããã¾ãã
numberãããã種é¡ã®æ°å¤: æ´æ°ã¾ãã¯æµ®åå°æ°ç¹bigintã¯ä»»æã®é·ãã®æ´æ°å¤ã®ããã®åstringæååãæååã¯1ã¤ãããå¤ãã®æåãæã¡ãå¥ã®1æååã¯ããã¾ãããbooleantrue/falsenull䏿ãªå¤ â åä¸ã®å¤nullãæã¤ã¹ã¿ã³ãã¢ãã³åundefinedæªå²ãå½ã¦å¤ â åä¸ã®å¤undefinedãæã¤ã¹ã¿ã³ãã¢ãã³åobjectããè¤éãªãã¼ã¿æ§ésymbol䏿ãªèå¥å
typeof æä½ã¯å¤æ°ã«ã©ã®åãæ ¼ç´ããã¦ããããç¥ããã¨ãã§ãã¾ãã
- 2ã¤ã®å½¢å¼:
typeof xortypeof(x). "string"ã®ããã«åã®ååã®æååãè¿ãã¾ããnullã¯"object"ãè¿ãã¾ã â ããã¯è¨èªã®ã¨ã©ã¼ã§ãå®éã¯ãªãã¸ã§ã¯ãã§ã¯ããã¾ããã
次ã®ãã£ãã¿ã¼ã§ã¯ããªããã£ãå¤ã«ã¤ãã¦éä¸ãããããã«ç²¾éããå¾ãªãã¸ã§ã¯ãã«é²ã¿ã¾ãã
ã³ã¡ã³ã
<code>ã¿ã°ã使ã£ã¦ãã ãããè¤æ°è¡ã®å ´åã¯<pre>ãã10è¡ãè¶ ããå ´åã«ã¯ãµã³ãããã¯ã¹ã使ã£ã¦ãã ãã(plnkr, JSBin, codepenâ¦)ã