JiYoung Dev πŸ–₯

javascript λ³€μˆ˜, μžλ£Œν˜•, μ—°μ‚°μž, 쑰건문, 반볡문 (2023.04.25) λ³Έλ¬Έ

full stack/JavaScript

javascript λ³€μˆ˜, μžλ£Œν˜•, μ—°μ‚°μž, 쑰건문, 반볡문 (2023.04.25)

Shinjio 2023. 4. 25. 20:29

🎈 λ³€μˆ˜

데이터λ₯Ό μ €μž₯ν•˜λŠ” 곡간

μžλ°”μ™€ 달리 μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λŠμŠ¨ν•˜κ²Œ μžλ£Œν˜•μ„ μ²΄ν¬ν•œλ‹€. 

→ μžλ°”μ—μ„œλŠ” λ³€μˆ˜λͺ… μ•žμ— μžλ£Œν˜•μ„ μž‘μ„±ν•˜μ—¬ λ³€μˆ˜ 선언을 ν•˜μ§€λ§Œ

→ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” μžλ£Œν˜•μ— 관계 없이 λ³€μˆ˜μ„ μ–Έ ν‚€μ›Œλ“œ(let)을 μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜λ₯Ό μ„ μ–Έν•œλ‹€. 

 

πŸ“– λ³€μˆ˜ μ„ μ–Έ ν‚€μ›Œλ“œ 3가지

βš™οΈ var

λ³€μˆ˜ μž¬μ„ μ–Έ κ°€λŠ₯

λ³€μˆ˜ μž¬ν• λ‹Ή κ°€λŠ₯

 

βš™οΈ let

λ³€μˆ˜ μž¬μ„ μ–Έ λΆˆκ°€λŠ₯

λ³€μˆ˜ μž¬ν• λ‹Ή κ°€λŠ₯

let ν‚€μ›Œλ“œ μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜ μž¬μ„ μ–Έμ‹œ λ°œμƒν•˜λŠ” 였λ₯˜

 

βš™οΈ const

λ³€μˆ˜ μž¬μ„ μ–Έ λΆˆκ°€λŠ₯

λ³€μˆ˜ μž¬ν• λ‹Ή λΆˆκ°€λŠ₯

 

const ν‚€μ›Œλ“œ μ‚¬μš©ν•˜μ—¬ μƒμˆ˜ μž¬ν• λ‹Ήμ‹œ λ°œμƒν•˜λŠ” 였λ₯˜

 

// λ³€μˆ˜ : 데이터λ₯Ό 담을 곡간
let num = 3;
// let -> λ³€μˆ˜ μ„ μ–Έ ν‚€μ›Œλ“œ
// num -> λ³€μˆ˜ 이름
//  3 -> λ³€μˆ˜μ— ν• λ‹Ήλœ κ°’

// μž¬μ„ μ–Έ : 같은 λ³€μˆ˜ μ΄λ¦„μœΌλ‘œ λ‹€μ‹œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λŠ” 것
// μž¬ν• λ‹Ή : μ„ μ–Έλœ λ³€μˆ˜μ— λ‹€μ‹œ 값을 ν• λ‹Ήν•˜λŠ” 것

// var : μž¬μ„ μ–Έ O, μž¬ν• λ‹Ή O
var var1 = 1;
console.log('var1 졜초 μ„ μ–Έ', var1);
var var1 = 2;
console.log('var1 λ‹€μ‹œ μ„ μ–Έ', var1);
var1 = 3;
console.log('var1 μž¬ν• λ‹Ή', var1);

// let : μž¬μ„ μ–ΈX, μž¬ν• λ‹Ή O
let let1 = 4;
console.log('let 졜초 μ„ μ–Έ', let1);
// let let1 = 5;   ---> 였λ₯˜λ°œμƒ
// console.log('let λ‹€μ‹œ μ„ μ–Έ', let1);
let1 = 5;
console.log('let μž¬ν• λ‹Ή', let1);

// const : μž¬μ„ μ–Έx, μž¬ν• λ‹ΉX
const const1 = 6;
console.log('const 졜초 μ„ μ–Έ', const1);
// const const1 = 7; ----> 였λ₯˜ λ°œμƒ
// const1 = 7;
// console.log('const μž¬ν• λ‹Ή', cont1); ---> 였λ₯˜ λ°œμƒ


πŸ“– λ³€μˆ˜ μ„ μ–Έμ‹œ μ£Όμ˜μ‚¬ν•­ 

1. λ³€μˆ˜λͺ… 첫 κΈ€μžλ‘œλŠ” $, _(언더바), 영문자만 올 수 μžˆλ‹€. - 숫자둜 μ‹œμž‘ν•  수 μ—†λ‹€!

2. λ³€μˆ˜λͺ…μœΌλ‘œλŠ” μ˜ˆμ•½μ–΄λ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€. 

3. λ³€μˆ˜λͺ…을지을 λ•Œ λ˜λ„λ‘ 의미λ₯Ό λΆ€μ—¬ν•΄ μž‘μ„±ν•˜λŠ” 것이 μ’‹λ‹€.  

 

🎈 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μžλ£Œν˜•

 

 

// 1. number : μ •μˆ˜, μ‹€μˆ˜ λ“± μ‚°μˆ μ—°μ‚°μ΄ κ°€λŠ₯ν•œ μžλ£Œν˜•
let num1 = 1.234;
let num2 = 50;
console.log(num1);
console.log(num2);

// 2. string : λ¬Έμžμ—΄λ‘œ 이루어진 μžλ£Œν˜•
let str1 = 'μ‹ μ§€μ˜';
let str2 = '31';
console.log(str1);
console.log(str2);

// 3. boolean : μ°Έ/κ±°μ§“μœΌλ‘œ ν‘œν˜„λ˜λŠ” 논리 ν˜•νƒœμ˜ μžλ£Œν˜•
let isFemale = true;
let isRich = false;
console.log(isFemale);
console.log(isRich);

// 4. undefined : 값이 ν• λ‹Ήλœ 적이 μ—†κ±°λ‚˜ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 속성일 λ•Œμ˜ μœ ν˜•
let val1;
console.log(val1);

// 5. null : μ•„λ¬΄λŸ° 값을 λ‚˜νƒ€λ‚΄μ§€ μ•Šμ„ λ•Œμ˜ μžλ£Œν˜•
let val2 = null;
console.log(val2);

 

πŸ“– μžλ£Œν˜• ν˜•λ³€ν™˜

 

let num = '3.14';
console.log(num);

// 1. 문자 -> μ‹€μˆ˜ν˜•μœΌλ‘œ ν˜•λ³€ν™˜ : parseFloat()
console.log('문자 → μ‹€μˆ˜ ν˜•λ³€ν™˜', parseFloat(num));

// 2. 문자 -> μ •μˆ˜ν˜•μœΌλ‘œ ν˜•λ³€ν™˜ : parseInt()
console.log('문자 → μ •μˆ˜ ν˜•λ³€ν™˜', parseInt(num));

// 3. 문자 -> μˆ«μžν˜•μœΌλ‘œ ν˜•λ³€ν™˜ : Number()
let num2 = '5'
console.log('문자 → 숫자 ν˜•λ³€ν™˜', Number(num));
console.log('문자 → 숫자 ν˜•λ³€ν™˜', Number(num2));

// 4. 숫자 -> λ¬Έμžν˜•μœΌλ‘œ ν˜•λ³€ν™˜ : String(data), data.toString()
let num3 = 100;
console.log('숫자 → 문자 ν˜•λ³€ν™˜', String(num3));
console.log('숫자 → 문자 ν˜•λ³€ν™˜, toString() μ‚¬μš©', num3.toString());

 

// 1. num1 -> '100', num2 -> 200
let num1 = '100';
let num2 = 200;
let sum = num1 + num2; // λ¬Έμžμ—΄ + 숫자 ->  λ¬Έμžμ—΄
console.log(sum); 
sum = Number(num1) + num2;
console.log(sum);

// 2. μ½˜μ†”μ°½μ— ν˜•νƒœμ— 맞좰 좜λ ₯
// num1κ³Ό num2의 ν•© >> num1 + num2

// console.log(num1 + 'κ³Ό ' + num2.toString() + '의 ν•© >> ' + (parseInt(num1) + num2));
console.log(num1+'κ³Ό '+num2+'의 ν•© >> ' + sum);

// Templete literals(ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄)
// : ν‘œν˜„μ‹κ³Ό λ¬Έμžμ—΄ μ‚½μž… λ˜λŠ” μ—¬λŸ¬μ€„ λ¬Έμžμ—΄ λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” ν˜•νƒœ
// -> λ°±ν‹±(`) 기호 μ‚¬μš©
// -> ν‘œν˜„μ‹ : ${λ³€μˆ˜}
console.log(`${num1}κ³Ό ${num2}의 ν•© >> ${sum}`);

console.log(`μ•ˆλ…•ν•˜μ„Έμš”.
λ°˜κ°‘μŠ΅λ‹ˆλ‹€`); // μ—¬λŸ¬μ€„ λ¬Έμžμ—΄

 

🎈 μ—°μ‚°μž

 

 

μžλ°”μ™€ 차이점

1. / : μžλ°”μ—μ„œλŠ” λͺ«μ„ μ˜λ―Έν•˜μ§€λ§Œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” μ‹€μ œ λ‚˜λˆ μ§„ 값을 λ‚˜νƒ€λ‚Έλ‹€. 

    μ˜ˆμ‹œ) 100 /  3 ===> 33.33333 (μžλ°”μ—μ„œλŠ” λͺ«μΈ 33 좜λ ₯)

2. === , == : μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ ==λŠ” μžλ™ν˜•λ³€ν™˜μ„ ν•˜μ—¬ κ°’λ§Œ λΉ„κ΅ν•˜μ§€λ§Œ ===λŠ” κ°’κ³Ό ν•¨κ»˜ μžλ£Œν˜•λ„ λΉ„κ΅ν•΄μ€Œ

 

// / μ—°μ‚°μž : μžλ°”μ—μ„œλŠ” λͺ«, μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” μ‹€μ œ λ‚˜λˆ„κΈ° μ—°μ‚° κ²°κ³Ό
console.log(100+3);
console.log(100-3);
console.log(100*3);
console.log(100/3);
console.log(100%3);

// == : μžλ™μœΌλ‘œ μžλ£Œν˜•μ„ λ³€ν™˜μ‹œν‚΄, κ°’λ§Œ 비ꡐ
// === : κ°’κ³Ό μžλ£Œν˜•μ„ ν•¨κ»˜ 비ꡐ (κ°’κ³Ό μžλ£Œν˜• λͺ¨λ‘ μΌμΉ˜ν•΄μ•Ό true)
let val1 = 10;
let val2 = '10';

console.log(val1 == val2);
console.log(val1 === val2);

 

 

 

🎈 μ‘°κ±΄λ¬Έ 

주어진 쑰건을 비ꡐ, νŒλ‹¨ν•˜μ—¬ κ²°κ³Όλ₯Ό μ–»λŠ” ꡬ문

 

// 쑰건문 : 주어진 쑰건을 비ꡐ, νŒλ‹¨ν•˜μ—¬ κ²°κ³Όλ₯Ό μ–»λŠ” ꡬ문

// 1. 쑰건(μ‚Όν•­)μ—°μ‚°μž : ===
let coffeeMenu = prompt('메뉴λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”.','아메리카노');

// true / false 일 λ•Œ μ‚¬μš©
// 비ꡐꡬ문 ? μ°ΈμΌλ•Œ : κ±°μ§“μΌλ•Œ
coffeeMenu === '아메리카노' 
? console.log('μ£Όλ¬Έν•˜μ‹  음료 λ‚˜μ™”μŠ΅λ‹ˆλ‹€.')
: console.log(`${coffeeMenu} ν˜„μž¬ λŒ€κΈ°μ‹œκ°„ 5λΆ„ μžˆμŠ΅λ‹ˆλ‹€.`);

// 쑰건이 ν•˜λ‚˜μΌ λ•Œ : &&
coffeeMenu === '딸기라떼' && console.log('겨울 ν•œμ • λ©”λ‰΄μž…λ‹ˆλ‹€!');

// 2. if문
let num = Number(prompt('숫자λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.'))
if(num > 10){
    console.log('10보닀 큰 μˆ˜μž…λ‹ˆλ‹€.');
}else{
    console.log('10보닀 μž‘μ€ 수 μž…λ‹ˆλ‹€.');
}

 

🎈 반볡문

μ–΄λ–€ 쑰건을 λ§Œμ‘±ν•  λ•ŒκΉŒμ§€ 같은 처리λ₯Ό λ°˜λ³΅ν•˜μ—¬ μ‹€ν–‰ν•˜λŠ” ꡬ문

 

// 반볡문 : μ–΄λ–€ 쑰건을 λ§Œμ‘±ν•  λ•ŒκΉŒμ§€ 같은 처리λ₯Ό λ°˜λ³΅ν•˜μ—¬ μ‹€ν–‰ν•˜λŠ” ꡬ문

// 1. while문
console.log('1-1. while문');
let num1 = 0;
while(num1<3){
    console.log(num1);
    num1++;
}

console.log('1-2. while문(true)');
let num2 = 3;
while(true){
    console.log(num2);
    num2++;

    if(num2===6) break;
}

// 2. do while문
console.log('2. do while문');
let num3 = 6;
do{
    console.log(num3);
    num3++;
}while(num3<9)

// ** whileλ¬Έ do whileλ¬Έ 비ꡐ
let num4 = 9;
while(num4<9){
    console.log('while문', num4);
}

do{
    console.log('do while문', num4);
}while(num4<9)

// 3. for문
console.log('for문');
for(let num5 = 9 ; num5 < 12 ; num5++){
    console.log(num5);
}