JavaScript-Basic Grammer
Grammer (for Test)
Install
node.js (LTS) ์ค์น ํ์!
vscode ํ์ฅ ํ๋ก๊ทธ๋จ์์ code runner ์ค์น ํ,
์คํ ์, ctrl+alt+โNโ ์ผ๋ก ์คํ
or
ํฐ๋ฏธ๋ ์ฐฝ์ node + ์คํํ์ผ๋ช .js
Basic
Javascript ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค.
Javascript์ ์คํฌ๋ฆฝํธ ์ธ์ด๋ ECMA Script๋ฅผ ํ ๋๋ก ๋ง๋ค์ด์ง๋ค.
Javascript์ ํ line์ Expression์ด๋ผ๊ณ ํ๋ ๋ฐ ์ด๊ฒ์ instruction ํ๋๋ฅผ ๋ํ๋ธ๋ค.
๋ณ์(variable)๋ ์์ฑ(create) -> ์ด๊ธฐํ(initialize) -> ์ฌ์ฉ(Use) ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
Variable
let / const : let์ ๋ณํ ์ ์๊ณ , const๋ ์์๋ฅผ ์๋ฏธํ๋ค.
var ์ ๊ทธ๋ฅ ์ฐ์ง ๋ง์. const, let์ด ์๋ํ!
var๋ก ์ ์ธ ์, ๋์ผ ์ ์ธ ๊ฐ๋ฅ -> ์๋ฌx, ์ฌํ ๋น ๊ฐ๋ฅ
let๋ก ์ ์ธ ์, ๋์ผ ์ ์ธ ๋ถ๊ฐ๋ฅ-> ์๋ฌ0, ์ฌํ ๋น ๊ฐ๋ฅ
const๋ก ์ ์ธ ์, ๋์ผ ์ ์ธ ๋ถ๊ฐ๋ฅ-> ์๋ฌ0, ์ฌํ ๋น ๋ถ๊ฐ๋ฅ
const what = " anything " : String
const what = 4 : Number
const what = true : boolean
Array
์๋ฐ์คํฌ๋ฆฝํธ์์๋ Array
๊ฐ์ฒด๋ก ๋ฐฐ์ด์ ๋ค๋ฃธ.
๊ฐ์ฒด ์์ฑํ๋ ๊ฒ๋ณด๋ค๋.. ํ์ด์ฌ์ฒ๋ผ ๊ฐ๋จํ๊ฒ ์์ฑํด๋ ๊ด์ฐฎ์ ๋ฏ
let arr = []
ํ์ด์ฌ์ด๋ ๊ฑฐ์ ๋น์ทํ ๋๋, ํ์ ๋ฌธ๋ฒ ์ ๋ฆฌ
let arr = ['์ฌ๊ณผ', '๋ฐ๋๋'];
let arr_1 = []
// ๊ฐ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๊ธฐ
for (i of arr){
arr_1.push(i)
}
console.log("*".repeat(20))
// ๋ค์ ์ถ๊ฐ
arr_1.push("์ค๋ ์ง");
console.log(arr_1)
console.log("*".repeat(10))
// ๋ค์ ์ญ์
arr_1.pop();
console.log(arr_1)
console.log("*".repeat(10))
// ์์ ์ถ๊ฐ
arr_1.unshift("๋ธ๊ธฐ")
console.log(arr_1)
console.log("*".repeat(10))
// ์์ ์ญ์
arr_1.shift()
console.log(arr_1)
console.log("*".repeat(10))
// forEach (enumerate์ ๋น์ท)
arr.forEach(function(item, index){
console.log(item, index)
})
console.log("*".repeat(20))
let vegetables = ['์๋ฐฐ์ถ', '์๋ฌด', '๋ฌด', '๋น๊ทผ']
let pos = 0
let n = 2
//ํด๋น ํญ๋ชฉ ์ ๊ฑฐ - pos: ์์ ์์น, n: ๊ฐ์
let remove_vege = vegetables.splice(pos, n)
console.log(remove_vege)
console.log(vegetables)
console.log("*".repeat(20))
console.log("*".repeat(20))
// ์์ ๋ณต์ฌ
let vegetables_copy = vegetables
vegetables[0] = "ํ ๋ผ"
console.log(vegetables)
console.log(vegetables_copy)
vegetables[0] = "์๋ฌด"
// ๊น์ ๋ณต์ฌ (slice ํ์ฉ)
vegetables_copy = vegetables.slice()
vegetables[0] = "ํ ๋ผ"
console.log(vegetables)
console.log(vegetables_copy)
for๋ฌธ
๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ
arr = [0,1,2,3]
-
์ผ๋ฐ
for (var i=0; i <= arr.length; i++){ console.log(arr[i]) } // 0,1,2,3
-
of
for (var i of arr){ console.log(i) } // 0,1,2,3
-
in
for (var i in arr){ console.log(arr[i]) } // 0,1,2,3
hash map
-
Array ์ด์ฉ
let array = ['one', 'two', 'three', 'four'] let hash = [] array.forEach((entry, index) => hash[entry]=index) // ์๋์ ๊ฐ์ ๋ป // array.forEach(function(entry, index){ // hash[entry]=index // }) console.log(hash) // [ one: 0, two: 1, three: 2, four: 3 ]
-
Map ์ด์ฉ
let array = ['one', 'two', 'three', 'four'] let map_t = new Map() array.forEach(function(item, index){ map_t.set(item, index) }) console.log(map_t) // Map(4) { 'one' => 0, 'two' => 1, 'three' => 2, 'four' => 3 }
โ=>โ ํ์ดํ ํจ์
๊ต์ฅํ ๋ง์ ๋ป์ด ๋ด๊ฒจ์์.
์ฌ๊ธฐ์๋ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํ ์ฝ๋ฐฑํจ์ ๋ง๋ค๊ธฐ (ํ์ด์ฌ lambda ๊ฐ์ ๊ธฐ๋ฅ) ๋ก ์๊ฐํ์.
String
-
String to int
N = '2' arr = ['1', '2', '3', '4'] console.log(parseInt(N)) // 2 console.log(Number(N)) // 2 console.log(arr.map(x => Number(x))) // [ 1, 2, 3, 4 ] // ์ํด๋ ์ซ์๋ ์๋ ํ๋ณํ
-
int to String
N = 2 arr = [0, 1, 2, 3] console.log(N.toString()) // '2' console.log(String(N)) // '2' console.log(arr.map(x => String(x))) // [ '0', '1', '2', '3' ]
-
join, split
int_array = [-0,-1,-2,-3] int_array = [0,1,2,3] join_array = int_array.join('') // 0123 (string) split_array = join_array.split('') // [ '0', '1', '2', '3' ] (Array)