κ΅λΉμ§μ D+39
- μ€μ½ν, ν΄λ‘μ , JSON -
μ€μ½ν
- λ³μκ° μ ν¨μ±μ κ°μ§λ λ²μλ₯Ό λνλ΄λ©°, μ΄λμ μ ν¨μ±μ μ½κ±°λ μΈ μ μλ κ²μ λνλΈλ€.
- νλ‘μΈμ€ λ©λͺ¨λ¦¬ 맡μ ꡬ쑰μ μμ‘΄μ μ΄λ€.
- μ μΈλ μμΉμ λ°λΌμ μ€μ½νκ° κ²°μ λλ€.
- κ°μ μ΄λ¦μ κ°μ§ λ³μκ° μ μΈ λ κ²½μ° μ€ν¬ν¬κ° κ²ΉμΉ μ μλ€.
• μ€μ½νμ μ’ λ₯
μ€μ½νμ μ’ λ₯λ μ μ μ€μ½νμ μ§μμ€μ½νλ‘ λλλλ° μ μμ€μ½νμμ μ ν¨ν μμμ <script>...</script>λ΄μ μ 체μ΄λ©°, μ§μμ€μ½νμμ μ ν¨ν μμμ ν¨μ μμ κ³Ό κ·Έ μμ μλ νμ μμμ΄λ€.
μ΄λ μ°λ¦¬κ° κΈ°μ΅ν΄μΌν κ²μ μ μ μ€μ½νμ μ§μ μ€μ½νλ λμ΄ κ²ΉμΉ μ λ°μ μλ€λ νΉμ§μ κ°μ§κ³ μμΌλ©°, μ€μ½νλ κ°κΉμ΄ κ²μ΄ μ°μ μμλ₯Ό κ°μ§λ€.
var a = 'a'; // μ μ μ€μ½ν
const func1 = function()
{
let b = 'b'; // μ§μ μ€μ½ν
const c = 'c'; // μ§μ μ€μ½ν
console.log(a); // a
console.log(b); // b
console.log(c); // c
};
func1();
console.log(a); // a
console.log(b); // error!
console.log(c); // error!
• μ§μμ€μ½νμ νΉμ§ #1 - ν¨μ λ 벨 μ€μ½ν vs λΈλ‘ λ 벨 μ€μ½ν
μ΄μ μ ES5λ₯Ό μ¬μ©ν΄μλ λΉμμ ν€μλλ λͺ¨λ varλ‘ μ¬μ©ν΄μμΌλ©°, μΆνμ ES6κ° λμ λ μ΄νμ letκ³Ό constκ° μλ‘κ² λ±μ₯νκ² λμλ€.
μ΄λ μ΄ λκ°μ κ°μ₯ ν° μ°¨μ΄μ μ varλ ν¨μ λ 벨 μ€μ½νμ΄κ³ , letκ³Ό constλ λΈλ‘ λ 벨 μ€μ½νλΌλ κ²μ΄λ€.
- ν¨μλ 벨 μ€μ½ν
function test ()
{
var a = 'a';
for(var b = 0; b < 5; b++)
{
var c = 0;
}
console.log(a); // a
console.log(b); // 5
console.log(c); // 0
}
test();
console.log(a); // error --> testν¨μμμ λ²μ΄λ¬λ€.
console.log(b); // error --> testν¨μμμ λ²μ΄λ¬λ€.
console.log(c); // error --> testν¨μμμ λ²μ΄λ¬λ€.
ν¨μλ 벨 μ€μ½νλ varν€μλμ μ μ©λλ κ²μΌλ‘ varκ° μ¬μ©λ λ³μλ₯Ό λΆλ¬μ¬ λ varκ° μ¬μ©λ ν¨μ λ²μλ΄μμλ 무쑰건 λΆλ¬μ¬ μ μλ€λ κ²μ΄λ€.
μ κ·Όμ±μ΄ μ’λ€λ μ₯μ μ κ°μ§κ³ μμ§λ§ μ¬νμ©μ κ°μ₯ν μ€μ©μ΄ λ°μλ μ°λ €κ° μλ€.
- λΈλ‘λ 벨 μ€μ½ν
const myFunc = function()
{
let a = 'a';
const b = 'b';
for(let i = 0; i < 5; i++)
{
let c = 'c';
let d = 'd';
}
console.log(a); // a
console.log(b); // b
console.log(c); // error --> forλ¬Έ λΈλ‘μμ λ²μ΄λ¬λ€.
console.log(d); // error --> forλ¬Έ λΈλ‘μμ λ²μ΄λ¬λ€.
}
myFunc();
λΈλ‘λ 벨 μ€μ½νλ λ§κ·Έλλ‘ "{ }" λΈλ‘ μΈλΆμμλ λ³μλ₯Ό λΆλ¬μ¬ μ μμΌλ©°, constμ letμ΄ μ΄μ ν΄λΉνλ€.
• μ§μμ€μ½νμ νΉμ§ #2 - μ€μ½ν 체μΈ
μ½λμ μ€μ½ν μμμ νμΈνλ€ λ³΄λ©΄ ν¨μμ μ€μ²©κ΅¬μ‘°λ‘ μΈν΄ μ€μ½νλ μ€μ²© κ΅¬μ‘°κ° μκΈ°λ κ²μ νμΈν μ μλ€.
λ΄ μμμ νΉμ λ³μκ° μμΌλ©΄ μμν¨μμ μλ λ³μλ₯Ό μ°ΎμΌλ‘ λ¨κ³μ μΌλ‘ μ¬λΌκ° νμλ³μλ₯Ό μ°Ύκ² λλλ° μ΄λ μ€μ½νκ° λ¨κ³μ μΌλ‘ μ°κ²°λμ΄ μλ κ²μ νμΈν μ μλλ° μ΄λ₯Ό μ€μ½ν 체μΈμ΄λΌκ³ νλ€.
μ£Όμν΄μΌν μ μ νμμμ μμλ‘ μ κ·Όμ κ°λ₯νμ§λ§ μμμμ νμλ‘λ μ κ·Όμ΄ λΆκ°λ₯νλ€. (= λ¨λ°©ν₯μ΄λ€)
ν΄λ‘μ
• μ§μμ€μ½νμ νΉμ§ #3 - ν΄λ‘μ
ν΄λ‘μ λ λ΄λΆ ν¨μμμ μΈλΆν¨μλ‘ μ€μ½ν 체μ΄λμ ν΅ν΄μ μΈλΆν¨μμ λ³μλ‘ μ κ·Ό κ°λ₯ν ν¨μμ μ‘°ν©μ μλ―Ένλ€.
μ¦, μ€μ½ν체μ΄λμ μ΄μ©ν΄μ Dataμ μ 보μλμ ꡬνν μ μλ€λ κ²μ΄λ€.
const bookInfo = {
title : 'μκΈ°μ¬μ΄ μλ°μ€ν¬λ¦½νΈ',
price : 10000,
type : 'ebook'
};
bookInfo.title = 'μκΈ°μ¬μ΄ μλ°';
μ¬κΈ° μ± μ μ 보λ₯Ό λ΄κ³ μλ κ°μ²΄κ° μλ€κ³ μκ°ν΄λ³΄μ.
κ·Έλ°λ° κ°μ²΄λ "κ°μ²΄λͺ .μ± μ λͺ©"μ μ λ ₯ν΄μ μ± μ μ λͺ©μ λ³κ²½ν μ μλ―μ΄ λ³μλ₯Ό privateνκ² μ€μ ν μ μλ€λ λ¨μ μ κ°μ§κ³ μμ΄ λꡬλ μ± μ λͺ©μ μ΄λ ν μ μ°¨μμ΄ λ³κ²½ν μ μκ² λλ κ²μ΄λ€.
μλ°μμλ ν΄λμ€λ₯Ό μμ λ³μλ₯Ό privateλ‘ μ€μ ν΄μ€μ μΈλΆμμ λ§μλλ‘ λ³μλ₯Ό λ³κ²½νμ§ λͺ»νκ³ λ³κ²½ν΄λ¬λΌλ λ©μλλ₯Ό μ΄μ©ν΄μ λ³κ²½νμλ€.
const makeInstance = function(title)
{
return {
getTitle : function()
{
return title;
},
setTitle : function(_title)
{
title = _title;
}
};
}
const book1 = makeInstance("μκΈ°μ¬μ΄ μλ°μ€ν¬λ¦½νΈ");
// λ©μλμ²λΌ μ΄μ©ν΄ λ³μμ μ κ·Ό κ°λ₯
book1.getTitle();
book1.setTitle("μκΈ°μ¬μ΄ μλ°");
μ΄λ₯Ό μλ°μ€ν¬λ¦½νΈμμ ꡬννκΈ° μν΄μ κ°μ²΄μμλ ν¨μλ λ΄μμ μλ€λ νΉμ§κ³Ό νλΌλ―Έν°μ λ³μκ° μΈλΆμμ μ κ·Όν μ μλ ν΄λ‘μ μ νΉμ§μ νμ©ν΄ μλ°μ λΉμ·ν κΈ°λ₯ ꡬνν μ μκ² ννν μ μλ€.
μ΄λ κ² κ΅¬ννκ² λλ©΄ κ°λ°μμ μ μ₯μμ μ½λλ₯Ό ꡬννλλ° λ³΅μ‘νλ€λ λ¨μ μ΄ μμ§λ§, μ¬μ©μ μ μ₯μμλ λ©μλμ μνλ κ°λ§ λ£μ΄μ£Όλ©΄ λκΈ° λλ¬Έμ μ¬ννλ€λ μ₯μ μ κ°μ§κ³ μλ€.
• νλ‘ν νμ
const ar1 = [1, 2, 3, 4, 5];
const ar2 = ['ab', 'cd'];
console.log(ar1);
console.log(ar2);
μμ κ°μ μ½λλ₯Ό μ§μ μ½μλ‘ νμΈν΄λ³΄λλ‘ νμ.
κ·Έλ¬λ©΄ λ°°μ΄μ μ 보μ ν¨κ» νλ‘ν νμ μ΄λΌκ³ νλ κ² μλ κ²μ νμΈν μ μλ€.
νλ‘ν νμ μ ν΄λ¦ν΄μ νμΈν΄λ³΄λ©΄ μ΄λ§μ΄λ§ν λ΄μ©λ€μ΄ μλ κ²μ νμΈν μ μλλ° μ΄λͺ¨λ κ²λ€μ λ°°μ΄μ κ΄λ ¨λ λ©μλμ΄λ€.
μ΄λ μλ°μ€ν¬λ¦½νΈμμ§μ΄ λμκ°λ μ리λ₯Ό μλ©΄ μ΄ν΄ν μ μλλ° μλ°μ€ν¬λ¦½νΈλ λ¨Όμ μ½λμ ννλ₯Ό μ νμΈνλ©΄μ λ³μκ° μ΄λ ν νμ μΈμ§μ λν΄ νμ νλ€.
κ·Έλ¬λ©΄μ λ§μ½ λ³μμμ λ°μ΄ν° νμ μ΄ λ°°μ΄μΌ κ²½μ° λ°°μ΄μ νμν κΈ°λ₯ꡬνμ΄ λ μ μλλ‘ λ°°μ΄ νλ‘ν νμ μ λΆμ¬μ£Όλ κ²μ΄λ€.
κ·Έλ κΈ° λλ¬Έμ μ°λ¦¬λ κ° λ°μ΄ν°νμ μ κ΄λ ¨ν λ©μλλ₯Ό μ¬μ©ν μ μκ²λλ κ²μ΄λ€.
νλ‘ν νμ μ λ§μΉ νμ λΆμ΄μλ DNAμ κ°κΈ° λλ¬Έμ μμ§ μλλ‘ νλ€.
JSON
- JavaScript Object Notation μλ°μ€ν¬λ¦½νΈ κ°μ²΄ νκΈ°λ²
- λ°μ΄ν°λ₯Ό μ μ₯νκ±°λ μ μ‘ν λ μ£Όλ‘ μ¬μ©νλ€.
- (key-value) νμμΌλ‘ μ΄λ£¨μ΄μ Έμλ€.
- κ°λ¨νκ³ μ§κ΄μ μ΄λ€.
- νΈνμ±μ΄ μ’λ€.
- JSON.stringify(), JSON.parse()
const book = [
{
title : 'μκΈ° μ¬μ΄ μλ°μ€ν¬λ¦½νΈ',
price : 20000,
type : 'paper'
},
{
title : 'μλ°μ€ν¬λ¦½νΈ',
price : 0,
type : 'ebook'
}
];
// λ°μ΄ν°λ₯Ό 보λΌλμ λ¬Έμλ°μ΄ν°λ‘ 보λ΄μ€μΌνλ€.
const json_text = JSON.stringify(book, null, 2);
console.log(json_text);
// json_textλ₯Ό λ°κ³ λμ λ€μ κ°μ²΄νν΄μΌνλ€.
const json_object = JSON.parse(json_text);
console.log(json_object);
'μλ > κ΅λΉμ§μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[D+41] μ΄λ²€νΈμ λ©μμ§, sortμ μ리 (0) | 2022.11.17 |
---|---|
[D+40] λ¬Έμ-κ°μ²΄ λͺ¨λΈ DOM (0) | 2022.11.16 |
[D+38] ν¨μ κ³ κΈ, κ°μ²΄ (0) | 2022.11.15 |
[D+37] λ°°μ΄μ forλ¬Έ, ν¨μμ κΈ°λ³Έ, μ½λ°±ν¨μ (0) | 2022.11.13 |
[D+36] javascript λ±μ₯λ°°κ²½ λ° κΈ°μ΄ (0) | 2022.11.11 |
λκΈ