ม - มએݴ
var a = 1;
let b = 2;
const c = 3;
console.log(a, b, c);
جຊతʹ var Ͱ let Ͱ const ͰมΛએݴ͢Δͱ͍͏ҙຯͰҰॹͰ͢ɻ
ͪͳΈʹͲΕΛҰ൪͏͔ͱ͍͏ͱɺ
const > let >>>>>>(ӽ͑ΒΕͳ͍น)>>>>>>> var
͘Β͍ͷॱͰ͍·͢ɻ
Slide 29
Slide 29 text
ม - มએݴ
const Ͱએݴ͢Δͱ࠶ೖ͕Ͱ͖ͳ͘ͳΓ·͢ɻ
const c = 3;
c = 4; // TypeError
࠶ೖͰ͖ͳ͍ͱਖ਼໘ͩͳ͍ͬͯ͏ؾ͢Δ͔͠Ε·ͤΜ͕ɺ࠶ೖ͠ͳ͍ͱ͍͏ࣄ
ίʔυΛಡΉଆʹऔͬͯΈΔͱɺมͷ͕ೖ͞ΕͯมԽ͞ΕΔ͜ͱ͕ແ͍ͱ͍͏ࣄΛ
ࢦ͢ͷͰಡΉଆ͍͘Βָ͔ʹͳΓ·͢ɻ
جຊతʹconstͰॻ͍͍ͯΕɺରʹ
let c = 3;
ͱॻ͔Ε͍ͯͨΒʮ͜ͷม c ࠶ೖ͢Δͧʯͱ͍͏એݴͱऔΕ·͢ɺ͜ͷΑ͏ʹ͠
ͯɺ const/letΛ͍͚͍ͯ͘ͱྑ͍Ͱ͠ΐ͏ɻ
Slide 30
Slide 30 text
ม - มએݴ
var ͍ͭ͏ͷ͔ʁ
ͦ͏ࢥͬͨ͋ͳͨɺྑ͍࣭Ͱ͢ɻ
var جຊతʹ͍·ͤΜɻͨͩ͠ҎԼͷಛఆͷ݅Ͱ͏ࣄ͕͋Γ·͢ɻ
- const/let ES2015Ҏ߱Ͱ༗ޮͳͨΊɺͦΕҎલͷϒϥβ/NodeͰಈ࡞͢ΔJavaScriptΛ
ॻ͖͍ͨ࣌
- γϏΞͳੑೳ͕ٻΊΒΕɺconst/letΑΓߴԽ͍ͨ࣌͠
ͳΜͰΘͳ͍ͷ͔ʁ
࣍ͷείʔϓͰղઆ͠·͢ɻ
ม - มείʔϓ
var a = 1;
let b = 2;
const c = 3;
͜ΕશͯάϩʔόϧείʔϓͰ͢ɻ
function foo() {
var a = 1;
let b = 2;
const c = 3;
}
͜ΕશͯϩʔΧϧείʔϓͰ͢ɻ
function bar() {
{
var a = 1; //͜Ε͚ͩϩʔΧϧείʔϓ
let b = 2; // let ͱ const ϒϩοΫείʔϓ
const c = 3;
}
console.log(a) // 1, b ͱ c ͔͜͜ΒݟΕͳ͍
}
Ϋϥε
JavaScript ʹ ES2015 ͔Β class ߏจ͕ೖΓ·ͨ͠ɻ
͋͘·Ͱclassߏจͱ͍͑ɺΫϥεͱ͍͏৽͍֓͠೦ʹͳΔΘ͚Ͱͳ͘ɺprototypeϕʔ
εͷؔͰ͢ɻ
class A {
foo() {
console.log("A")
}
}
typeof A // => "function"
ؔͰ͋Δ͕Ώ͑ʹࣜͱͯ͠ೖՄೳͰ͢ɻ
const A = class {}
Slide 49
Slide 49 text
Ϋϥε
ܧঝ͢Δࡍʹ extends ۟Λ͍·͢ɻ
class A extends B {
foo() {
console.log("A")
}
}
const a = new A()
a instanceof A // true
a instanceof B // true
super ۟Λ͏ͱͷΦϒδΣΫτʹΞΫηεͰ͖·͢ɻ
Slide 50
Slide 50 text
Ϋϥε
ϏϧτΠϯΦϒδΣΫτܧঝՄೳͰ͢ɻ
class MyArray extends Array {}
class MyError extends Error {}
class MyNumber extends Number {}
ಛʹErrorͷ֦ுerrorStackΛյͣ͞ʹܧঝͰ͖ΔͨΊศར
Slide 51
Slide 51 text
݅ذ
if, else, switchΛͬͯϓϩάϥϜͷ݅ذΛهड़͢Δ͜ͱ͕ՄೳͰ͢ɻ
if, else, switchશͯ"จ"Ͱ͋Γɺ"ࣜ"Ͱͳ͍ͷͰมએݴೖෆՄೳͰ͢ɻ
const a = true
if (a) {
console.log("passed")
} else {
console.log("not here")
}
const b = "foo"
switch (b) {
case "foo":
console.log("foo is here")
break // ͜͜ͷbreakΛΕΔͱԼͷbar·Ͱߦ͘
case "bar":
console.log("bar is here")
break
}
Slide 52
Slide 52 text
ϧʔϓ
ϧʔϓ܁Γฦ͠Կ͔Λ࣮ߦ͢ΔͨΊͷγϯϓϧͳํ๏Λఏڙ͍ͯ͠Δɻ
JavaScriptͰ͍ΘΏΔɺ for, while, do-while, for..ofͱ͍ͬͨํ๏͕͋Δɻ
for (let i=0; i<100; i++) {
console.log(i)
}
let i = 0
while(i < 100) {
console.log(i)
i++
}
let i = 0
do {
console.log(i)
i++
} while(i<100)
Slide 53
Slide 53 text
ϧʔϓ
ϧʔϓͷதͰ for .. of ϧʔϓಛघͳͷͰ͓֮͑ͯ͘ͱྑ͍Ͱ͢ɻ
Iterable (܁Γฦ͠Մೳ)ͳͷΛ܁Γฦ࣌͢ͷಛผͳforจͰ͢ɻ
for (const a of [1, 2, 3]) {
console.log(a)
}
܁Γฦͨ͠ࡍʹ৽͍͠มΛఆ͍ٛͯ͠ΔͨΊɺ `const a` Ͱ࢝ΊΔ͜ͱ͕ՄೳͰ͢ɻ