๐Ÿ”ค Language/๐ŸŸจ JavaScript

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

    ์–•์€ ๋ณต์‚ฌ / Shallow Copy '์ฃผ์†Œ ๊ฐ’'์„ ๋ณต์‚ฌํ•œ๋‹ค๋Š” ์˜๋ฏธํ•œ๋‹ค. ์–•์€ ๋ณต์‚ฌ์˜ ๊ฒฝ์šฐ ์ฃผ์†Œ ๊ฐ’์„ ๋ณต์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ์‹ค์ œ๊ฐ’์€ ๊ฐ™๋‹ค. const user = { name: 'imae', age: 85, emails: ['kurt5451@naver.com'] } const copyUser = user console.log(copyUser === user) // ๊ฐ’: true user.age = 21 console.log(user) // ๊ฐ’: {name: 'imae', age: 21, email: array(1)} console.log(copyUser) // ๊ฐ’: {name: 'imae', age: 21, email: Array(1)} // user์™€ copyUser๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€..

    JS. ๋ฐ์ดํ„ฐ ๋ถˆ๋ณ€์„ฑ(Immutability)

    ๋ถˆ๋ณ€์„ฑ(Immutability) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ถˆ๋ณ€์„ฑ์ด๋ž€ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ ์ดํ›„ ๊ทธ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์›์‹œ ๋ฐ์ดํ„ฐ ์›์‹œ ๋ฐ์ดํ„ฐ๋Š” ๋ถˆ๋ณ€์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. String, Number, Boolean, undefined, null let a = 1 let b = 4 console.log(a, b, a === b) b = a // ๋ณ€์ˆ˜ b์— a๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ํ• ๋‹น console.log(a, b, a === b) a = 7 // a์— ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋ฏ€๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ํ• ๋‹น console.log(a, b, a === b) let c = 1 console.log(b, c, b === c) // c๋Š” ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์ง€๋งŒ ์›๋ž˜ ์กด์žฌํ–ˆ๋˜ ๋ฐ์ดํ„ฐ ๊ฐ’์ธ 1์ด ํ• ๋‹น๋˜์—ˆ์œผ๋ฏ€๋กœ // b์™€ c..

    JS. ์ „๊ฐœ ์—ฐ์‚ฐ์ž / Spread Operator

    ์ „๊ฐœ ์—ฐ์‚ฐ์ž ECMAScript6(2015)์—์„œ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ์ „๊ฐœ ์—ฐ์‚ฐ์ž(Spread Operator)๋ž€ ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์˜ ๊ฐ’์„ ํ•˜๋‚˜ ํ•˜๋‚˜ ๋„˜๊ธฐ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ „๊ฐœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์  ์„ธ๊ฐœ(...)๋ฅผ ๋ถ™์ด๋ฉด ๋œ๋‹ค. const fruits = ['Apple', 'Banana', 'Cherry'] console.log(fruits) console.log(...fruits) // console.log('Apple', 'Banan', 'Cherry') function toObject(a, b, c) { return { a: a, b: b, c: c } } console.log(toObject(...fruits)) ์‹คํ–‰ ๊ฒฐ๊ณผ [ 'Apple', 'Banana', 'Cherry' ] Apple B..

    JS. ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น / ๋น„๊ตฌ์กฐํ™” ํ• ๋‹น / Destructuring assignment

    ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น ๊ตฌ๋ฌธ์€ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ํ•ด์ฒดํ•˜์—ฌ ๊ทธ ๊ฐ’์„ ๊ฐœ๋ณ„ ๋ณ€์ˆ˜์— ๋‹ด์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” JavaScript ํ‘œํ˜„์‹์ด๋‹ค. const user = { name: 'imae', age: 21, email: 'kurt5451@naver.com' } const { name, age, address = 'Korea' } = user // E.g, user.address console.log(`์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์€ ${name}์ž…๋‹ˆ๋‹ค.`) console.log(`${name}์˜ ๋‚˜์ด๋Š” ${age}์‚ด์ž…๋‹ˆ๋‹ค.`) console.log(`${name}์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ${user.email}์ž…๋‹ˆ๋‹ค.`) console.log(address) ์‹คํ–‰ ๊ฒฐ๊ณผ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์€ imae์ž…๋‹ˆ๋‹ค. imae์˜ ๋‚˜์ด๋Š” 2..

    JS. ๊ฐ์ฒด

    Object.assign() Object.assign() ๋ฉ”์„œ๋“œ๋Š” ์ถœ์ฒ˜ ๊ฐ์ฒด๋“ค์˜ ๋ชจ๋“  ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์ž์ฒด ์†์„ฑ์„ ๋ณต์‚ฌํ•ด ๋Œ€์ƒ ๊ฐ์ฒด์— ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค. ๊ทธ ํ›„ ๋Œ€์ƒ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const target = { a: 1, b: 2 }; const source = { b: 4, c: 5 }; const returnedTarget = Object.assign(target, source); console.log(target); // expected output: Object { a: 1, b: 4, c: 5 } console.log(returnedTarget); // expected output: Object { a: 1, b: 4, c: 5 } ๋ชฉํ‘œ ๊ฐ์ฒด์— ์ถœ์ฒ˜ ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. b ์š”์†Œ๋Š” ์ค‘๋ณตํ•ด์„œ ์žˆ์—ˆ๋Š”๋ฐ..

    JS. ๋ฐฐ์—ด(2) / Array

    .filter() filter() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ํ•จ์ˆ˜์˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋งŒ๋“ค์–ด๋‚ธ ์กฐ๊ฑด์— ๋งž๋Š” ๋‚ด์šฉ์„ ๊ฑธ๋Ÿฌ๋‚ธ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const numbers = [1, 2, 3, 4] const fruits = ['Apple', 'Banana', 'Cherry'] const a = numbers.map(number => number number < 3) console.log(b) console.log(numbers) ์‹คํ–‰ ๊ฒฐ๊ณผ [ true, true, false, false ] [ 1, 2 ] [ 1, 2, 3, 4 ] .map()์„ ์‚ฌ์šฉํ•˜๋ฉด number๋Š” tr..

    JS. ๋ฐฐ์—ด (1) / Array

    Array JavaScript Array ์ „์—ญ ๊ฐ์ฒด๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ์˜ ๊ณ ์ˆ˜์ค€ ๊ฐ์ฒด์ด๋‹ค. zero based๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ๋ฆฌํ„ฐ๋Ÿด([])๋ถ€๋ถ„ ๋’ค์— ๋ฉ”์†Œ๋“œ๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•œ๋‹ค. const numbers = [1, 2, 3, 4] const fruits = ['Apple', 'Banana', 'Cherry'] console.log(numbers) console.log(numbers[1]) console.log(fruits) console.log(fruits[2]) ์‹คํ–‰ ๊ฒฐ๊ณผ [ 1, 2, 3, 4 ] 2 [ 'Apple', 'Banana', 'Cherry' ] Cherry find() find() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ํŒ๋ณ„ ํ•จ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ..

    JS. ์ˆ˜ํ•™ ๊ฐ์ฒด / Math

    Math Math ๋Š” ์ˆ˜ํ•™์ ์ธ ์ƒ์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ์œ„ํ•œ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง„ ๋‚ด์žฅ ๊ฐ์ฒด์ด๋‹ค. (โ€ป ํ•จ์ˆ˜ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๋‹ค.) Math ๋Š” Number ์ž๋ฃŒํ˜•๋งŒ ์ง€์›ํ•œ๋‹ค. toFixed() toFixed() ๋ฉ”์†Œ๋“œ๋Š” ์ˆซ์ž๋ฅผ ๊ณ ์ • ์†Œ์ˆ˜์ ์œผ๋กœ ํ‘œ๊ธฐํ•ด ๋ฐ˜ํ™˜ํ•œ๋‹ค. const pi = 3.14159265358979 console.log(pi) const str = pi.toFixed(2) console.log(str) console.log(typeof str) ์‹คํ–‰ ๊ฒฐ๊ณผ 3.14159265358979 3.14 string toFixed() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด String ์ž๋ฃŒํ˜•์ด๋‹ค. parseInt() / parseFloat() parseInt() ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ์ธ์ž๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ํŠน์ • ์ง„์ˆ˜์˜ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. parseFloa..

    JS. ๋ฌธ์ž

    JS string ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ• string mdn์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์•„๋ž˜ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•œ๋‹ค. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String String - JavaScript | MDN String ์ „์—ญ ๊ฐ์ฒด๋Š” ๋ฌธ์ž์—ด(๋ฌธ์ž์˜ ๋‚˜์—ด)์˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค. developer.mozilla.org ์ด์™€ ๊ฐ™์€ ์‚ฌ์ดํŠธ๋ฅผ ์ ‘์†ํ•˜๋ฉด mozilla์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฌธ์ž์™€ ๊ด€๋ จ๋œ ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. indexOf()๋ผ๋Š” ๊ธฐ์ˆ ์„ ์ฐพ๊ธฐ ์œ„ํ•ด command + F ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ํ•ด๋‹น ๋งค์„œ๋“œ์— ๊ด€๋ จ๋œ ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Gl..

    JS. ์ƒ์†(ํ™•์žฅ)

    ํด๋ž˜์Šค ์ƒ์†(ํ™•์žฅ) ํด๋ž˜์Šค ์ƒ์†์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ž˜์Šค๋ฅผ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. extends ํด๋ž˜์Šค ํ™•์žฅ ๋ฌธ๋ฒ•์œผ๋กœ ์šฐ๋ฆฌ์˜ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด Vehicle์ด๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์†, ํ™•์žฅํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Bicycle๊ณผ Car๋ผ๋Š” ํด๋ž˜์Šค๋กœ ์„ค๋ช…ํ•ด๋ณด๊ฒ ๋‹ค. class Vehicle { constructor(name, whell) { this.name = name this.whell = whell } } const myVehicle = new Vehicle('์šด์†ก์ˆ˜๋‹จ', 2) console.log(myVehicle) ๊ธฐ์กด์˜ ํด๋ž˜์Šค ํ•จ์ˆ˜๋กœ์จ ์ €๋ฒˆ ES6 Classes์—์„œ ๋ฐฐ์šด ๋‚ด์šฉ์ด๋‹ค. ์šด์†ก์ˆ˜๋‹จ์œผ๋กœ์จ Vehicle์„ ํด๋ž˜์Šค๋กœ ์„ ์–ธํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Bicycle์€ ์ƒ์†์ด ๋˜๋Š” ๊ฒƒ์ด๊ณ , Car๋Š” license๋ผ๋Š” ๋งค์†Œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜..