ํ•ญํ•ด99

Javascript ๊ฐœ๋… ์ •๋ฆฌ(2) - ๊ฐ์ฒด์™€ ๋ถˆ๋ณ€์„ฑ

JIN_Coder 2022. 7. 16. 22:53

๐Ÿค JavaScript ๊ฐ์ฒด์™€ ๋ถˆ๋ณ€์„ฑ์ด๋ž€ ?

 

๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์™€ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ

 

๊ธฐ๋ณธํ˜•(์›์‹œํ˜•) ๋ฐ์ดํ„ฐ(Primative Type)

๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ ์œ ํ˜• 6๊ฐ€์ง€

 - Number

 - String

 - Boolean

 - null

 - undefined

 - Symbol(ES6์— ์ถ”๊ฐ€, ๊ฐ์ฒด ์†์„œ์„ ๋งŒ๋“œ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…)

 

๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ๋Š” ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ํ• ๋‹นํ•จ

๋ฉ”๋ชจ๋ฆฌ์ƒ์— ๊ณ ์ •๋œ ํฌ๊ธฐ๋กœ ์ €์žฅ๋˜๋ฉฐ, ์›์‹œ๋ฐ์ดํ„ฐ ๊ฐ’ ์ž์ฒด๋ฅผ ๋ณด๊ด€ํ•˜๋ฏ€๋กœ, ๋ถˆ๋ณ€์ ์ž„

๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋‚˜์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•จ(์žฌ์‚ฌ์šฉ)

var a;
a = 10;

var b = 'abc';
b = false;

var c = b;
// b === c

c = 20;
// b !== c

๋ณ€์ˆ˜ ์„ ์–ธ
๋ณ€์ˆ˜ ํ• ๋‹น
๋ณ€์ˆ˜ ์žฌ ํ• ๋‹น

 

 

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ(Reference Type)

๋ณ€์ˆ˜์— ํ• ๋‹นํ• ๋•Œ ๊ฐ’์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•จ

์ฐธ์กฐํ˜•์€ ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋Š” ๊ฐ’์ด ์ง€์ •๋œ ์ฃผ์†Œ๊ฐ’์„ ํ• ๋‹นํ•จ

 

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์˜ ๋Œ€ํ‘œ : object

ํ•˜์œ„

 - Array

const๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜ ๋ฐฐ์—ด์— array.push()๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” ๋ฐฐ์—ด์€ ์ฐธ์กฐ ํƒ€์ž…์ด๊ธฐ ๋–„๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๋ฅผ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ

 - function

 - RegExp(์ •๊ทœ์‹)

๋ฌธ์ž์—ด์— ๋‚˜ํƒ€๋‚˜๋Š” ํŠน์ • ๋ฌธ์ž์กฐํ•ฉ๊ณผ ๋Œ€์‘์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด

 - map

var obj = {
    a : 1,
    b : 'b'
};

var obj2 = obj;
obj2.a = 10;
console.log(obj2.a); // 10
console.log(obj.a); // 10

obj2 ๊ฐ์ฒด๊ฐ€ obj ๊ฐ์ฒด์™€ ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณธ๋ž˜ obj์ด ๋ฐ”๋ผ๋ณด๋˜ ๊ฐ์ฒด๋ฅผ ํ•จ๊ป˜ ๋ฐ”๋ผ ๋ด„

obj === obj2 ๋Š” ์™„๋ฒฝํžˆ ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ ํ•จ

 

๊ฐ์ฒด์˜ ์„ ์–ธ

๊ฐ’์ด ์ €์žฅ๋œ ์ฃผ์†Œ๊ฐ’์„ ํ• ๋‹น

๋น„์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๊ณ , ๊ฐ์ฒด ์† ํ”„๋กœํผํ‹ฐ์— ๋Œ€ํ•œ ๊ณต๊ฐ„์„ ๋‹ค์‹œ ํ™•๋ณด

๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ ๋ช…๊ณผ ์ฃผ์†Œ๋ฅผ ๋งค์นญํ•˜๊ณ  ํ™•๋ณดํ–ˆ๋˜ ๋‘ ๋ฒˆ์งธ ์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹น

 

 

๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์˜ ์ฐจ์ด

๊ธฐ๋ณธํ˜• : ๋ฐ”๋กœ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ํ• ๋‹นํ•จ

์ฐธ์กฐํ˜•: ๊ฐ’์ด ์ €์žฅ๋œ ์ฃผ์†Œ ๊ฐ’์„ ํ• ๋‹น(์ฐธ์กฐ)ํ•จ

 

๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธธ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๊ณ , ํ™•๋ณด๋œ ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ๋ณ€์ˆ˜๋ฉด๊ณผ ๋งค์นญ์‹œํ‚ค๋Š” ์„ ์–ธ๊ณผ์ •๊นŒ์ง€ ๋™์ผํ•˜๋‚˜, ํ• ๋‹น ๊ณผ์ •์— ์ฐจ์ด๊ฐ€ ์žˆ์Œ

 

https://webclub.tistory.com/638

 

JS Basics #1 - JS ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜• ์ฐจ์ด์  ์ •๋ฆฌ

๊ธฐ๋ณธํ˜•๊ณผ ์ž๋ฃŒํ˜•์˜ ์ฐจ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋‘๊ฐ€์ง€ ํƒ€์ž…์ธ ๊ธฐ๋ณธํ˜• ๊ณผ ์ž๋ฃŒํ˜• ์˜ ์ •์˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ๋‘ ํƒ€์ž…๊ฐ„์˜ ์ฐจ์ด์ ์ด ๋ฐœ์ƒํ•˜๋Š” ์›์ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€

webclub.tistory.com

 

 

 

๋ถˆ๋ณ€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

 

๋ถˆ๋ณ€๊ฐ์ฒด๋ž€

๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด, ์ด๋ฏธ ํ• ๋‹น๋œ ๊ฐ์ฒด๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป

 

์ด๊ฒŒ ๋ถˆ๋ณ€์ธ๊ฐ€?

const

๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜๋กœ ์„ ์–ธ ํ•จ(์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์ˆ˜๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ๋ฐ”๊พธ์ง€ ๋ชปํ•จ)

๊ฐ์ฒด ์žฌํ• ๋‹น์€ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ฐ์ฒด์˜ ์†์„ฑ์€ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

const test = {};
test.name = "mingyo"; 
console.log(test); // {"mingyo"}

์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅ ํ•œ ์ด์œ ๋Š” ๋ณ€์ˆ˜์™€ ๊ฐ’(๊ฐ์ฒด) ์‚ฌ์ด์˜ ๋ฐ”์ธ๋”ฉ ์ž์ฒด๊ฐ€ ๋ณ€๊ฒฝ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์ˆ˜์ธ test๋ณ€์ˆ˜๋Š” ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜์ง€๋งŒ, 

๊ฐ์ฒด์˜ ์†์„ฑ์ด ๋ณ€๊ฒฝ๊ฐ€๋Šฅ ํ•œ ์ด์œ ๋Š” ์‹ค์ œ ๊ฐ์ฒด๊ฐ€ ๋ณ€๊ฒฝ์€ ๋˜์ง€๋งŒ ( {} -> name : "mingyo" ) ๊ฐ์ฒด์™€ ๋ณ€์ˆ˜(test)์‚ฌ์ด์˜ ๋ฐ”์ธ๋”ฉ์€ ๋ณ€๊ฒฝ์ด ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด์˜ ์†์„ฑ์€ ๋ณ€๊ฒฝ๊ฐ€๋Šฅํ•จ

 

 

Object.freeze()

๊ฐ์ฒด๋ฅผ ๋™๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ

๊ฐ์ฒด๋Š” ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์‹œ๋„๋Š” ๋ถˆ๊ฐ€๋Šฅ ๊ทธ๋Ÿฌ๋‚˜ ๋™๊ฒฐ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ ๊ฐ์ฒด์˜ ์žฌํ• ๋‹น์€ ๊ฐ€๋Šฅ

let test = {
    name : 'kim'
}

Object.freeze(test);

test.name = 'Jung';
console.log(test) // {name: 'kim'}

test = {
    age : 15
};
console.log(test); // {age: 15}

 

๊ทธ๋Ÿผ ๋ถˆ๋ณ€๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฒ•์€?

const์™€ Object.freeze()๋ฅผ ์กฐํ•ฉ ํ•˜์—ฌ ๋งŒ๋“ฌ

const์˜ ์žฌํ• ๋‹น๋ถˆ๊ฐ€ + Object.freeze()์˜ ๊ฐ์ฒด์†์„ฑ ๋ณ€๊ฒฝ๋ถˆ๊ฐ€

const test = {
    'name' : 'jung'
};

Object.freeze(test);

https://spiderwebcoding.tistory.com/8

 

[JavaScript] ๋ถˆ๋ณ€ ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ(const, Object.freeze())

๊ฐœ์š” ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ์ž„์˜ ๊ฐ์ฒด A๋ฅผ ๋ฐฐ์—ดB์— Pushํ•œ ํ›„ ๊ฐ์ฒด A์˜ ๋‚ด์šฉ์„ ๋ฐ”๊ฟจ๋Š”๋ฐ ๋ฐฐ์—ดB์— Push ๋˜์–ด ์žˆ๋˜ ๊ฐ์ฒด ๊ฐ’์ด ๋ฐ”๋€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ด ๋•Œ ๋‚˜๋Š” ๋ฐฐ์—ด์— pushํ•œ ๊ฐ’์€ value๋กœ

spiderwebcoding.tistory.com

 

 

 

์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ

 

๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Œ, 

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋„ ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋ฉด ์ฆ‰, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹นํ•œ๋‹ค๋ฉด ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์ด ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ

 

BUT 

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์ธ ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๊ทธ ๊ฐ์ฒด์•ˆ์˜ ๋‚ด๋ถ€ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋ณ€๊ฒฝ ํ•œ๋‹ค๋ฉด?

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์ธ ๋‚ด๋ถ€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ๋Š” ๊ฐ€๋ณ€์„ฑ์ด๋ผ๋Š” ์„ฑ์งˆ๋กœ ์ธํ•˜์—ฌ ๊ธฐ์กด์˜ ๊ฐ์ฒด๋„ ๋ณ€ํ•˜๊ฒŒ ๋จ 

 

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

๊ธฐ์กด ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ ํ•˜๊ธฐ

var student = {
    name : "coder_h",
    ban : 3,
    gender : 'male'
}

var copyObject = function(target){ // (1)
    var result = {};
    for(var prop in target){
        result[prop] = target[prop];
    }
    return result;
}

var student2 = copyObject(student);

student2.name = "kim";


console.log(student === student2); // false
console.log(student.name, student2.name); // coder_h kim

for in ๋ฌธ๋ฒ•์„ ์ด์šฉํ•ด์„œ target ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋‹ด๊ธฐ๋Š” ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ƒˆ๋กœ์šด result๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜

์ด๊ฑฐ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ,

 

๊ฐ์ฒด์•ˆ์— ํ”„๋กœํผํ‹ฐ๋กœ ๋˜ ๊ฐ์ฒด๊ฐ€ ์žˆ๋Š” ์ค‘์ฒฉ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ

var student = {
    name : "coder_h",
    ban : 3,
    gender : 'male',
    friend : { // ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•œ ํ”„๋กœํผํ‹ฐ (1)
        name : "hello"
    }
}

var copyObject = function(target){
    var result = {};
    for(var prop in target){
        result[prop] = target[prop];
    }
    return result;
}

var student2 = copyObject(student);

student2.name = "kim";
student2.friend.name = "Bye"; // student2์˜ ์นœ๊ตฌ์ด๋ฆ„์„ ๋ณ€๊ฒฝ (2)


console.log(student === student2); // false
console.log(student.name, student2.name);// coder_h kim
console.log(student.friend.name, student2.friend.name); // Bye Bye (3)

๊ธฐ์กด ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ํ”„๋กœํผํ‹ฐ๋„๊นŒ์ง€ ๋ณ€๊ฒฝ๋จ

์ค‘์ฒฉ๋œ ๊ฐ์ฒด์—์„œ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋ณต์‚ฌํ•  ๋•Œ ๊ทธ ์ฃผ์†Ÿ๊ฐ’๋งŒ ๋ณต์‚ฌํ•จ

์ฆ‰, ๋ณต์‚ฌํ•œ ๊ฐ์ฒด์—์„œ ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ์— ๋Œ€ํ•ด ๊ฐ™์€ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์‚ฌ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์›๋ณต๊ฐ์ฒด๊นŒ์ง€ ์˜ํ–ฅ์„ ๋ผ์น˜๊ฒŒ ๋จ

 

์ด๊ฒƒ์ด ์–•์€ ๋ณต์‚ฌ์˜ ํ•œ๊ณ„...

 

์–•์€ ๋ณต์‚ฌ : ๋ฐ”๋กœ ์•„๋ž˜ ๋‹จ๊ณ„์˜ ๊ฐ’๋งŒ ๋ณต์‚ฌํ•จ.
๊นŠ์€ ๋ณต์‚ฌ : ๋‚ด๋ถ€์˜ ๋ชจ๋“  ๊ฐ’๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ฐพ์•„์„œ ์ „๋ถ€ ๋ณต์‚ฌํ•จ

 

var student = {
    name : "coder_h",
    ban : 3,
    gender : 'male',
    friend : {
        name : "hello"
    }
}

// ๊นŠ์€๋ณต์‚ฌ (1)
var copyObjectDeep = function(target){
    var result = {};
    if(typeof target === 'object' && target !== null){
        for(var prop in target){
            result[prop] = copyObjectDeep(target[prop]);
        }
    } else {
        result = target;
    }
    return result;
}

var student2 = copyObjectDeep(student);

student2.name = "kim";
student2.friend.name = "Bye"; // (2)


console.log(student === student2);
console.log(student.name, student2.name);
console.log(student.friend.name, student2.friend.name); // hello Bye (3)

๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์ธ ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜๋ฉด ๋˜์ง€๋งŒ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์‹œ ๊ทธ ๋‚ด๋ถ€์˜ ํ”„๋กœํผํ‹ฐ๋“ค์„ ๋ณต์‚ฌํ•ด์•ผ ํ•จ

์ฆ‰, ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„๋•Œ ๋งˆ๋‹ค ์žฌ๊ท€์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ๋งŒ ๋น„๋กœ์†Œ ๊นŠ์€ ๋ณต์‚ฌ๊ฐ€ ๋˜๋Š” ํ˜•ํƒœ๊ฐ€ ๋จ

target์ด ๊ฐ์ฒด๋ผ๋ฉด ๋‚ด๋ถ€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ํ•จ์ˆ˜๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๊ณ **, ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” target์„ ๊ทธ๋Œ€๋กœ result์— ํ• ๋‹น ์‹œ์ผœ ๋ฐ˜ํ™˜

์ค‘์ฒฉ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•˜๋”๋ผ๋„ ์›๋ณธ๊ณผ ๋ณต์‚ฌํ•œ ๊ฐ์ฒด๋Š” ์„œ๋กœ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์–•์€ ๋ณต์‚ฌ์ผ๋•Œ์™€ ๊ฐ™์€ ์ƒํ™ฉ์ด ๋ฒŒ์–ด์ง€์ง€ ์•Š์Œ

 

https://velog.io/@hazzang/JS-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EB%B6%88%EB%B3%80-%EA%B0%9D%EC%B2%B4

 

JS ์‹œ๋ฆฌ์ฆˆ - ๋ถˆ๋ณ€ ๊ฐ์ฒด

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์™€ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (๋ถˆ๋ณ€์„ฑ) ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋„ ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋ฉด ์ฆ‰,

velog.io