Skip to content

susuim/React-JS

Repository files navigation

Onebite React.js

Practice Project

React.js 개둠

01. React 기술적인 νŠΉμ§• 02 React App μƒμ„±ν•˜κΈ°(feat.vite) 03. React ꡬ동원리 μ‚΄νŽ΄λ³΄κΈ°

Node.js 기초

01. Node.js μ†Œκ°œ 02. Node.js μ„€μΉ˜ 03. Node.js μ‚¬μš© 04. Node.js λͺ¨λ“ˆ μ‹œμŠ€ν…œ 05. Node.js 라이브러리

JavaScriptλŠ” JavaScript μ—”μ§„ 에 μ˜ν•΄ μ‹€ν–‰λœλ‹€.

λ”°λΌμ„œ μ›Ή λΈŒλΌμš°μ €λ₯Ό μ΄μš©ν•˜λ©΄ κ°„λ‹¨ν•œ JavaScript μ½”λ“œλ₯Ό 직접 μ‹€ν–‰ κ°€λŠ₯ν•˜λ‹€.

console.log("μ•ˆλ…• μžλ°”μŠ€ν¬λ¦½νŠΈ")

(1) λ³€μˆ˜ : ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” 도쀑에 κ²Œμ† 값을 λ°”κΏ”κ°€λ©΄μ„œ 값을 μ €μž₯ν•  수 μžˆλŠ” μ €μž₯μ†Œ

let age = 28;
console.log(age);

(2) μƒμˆ˜ : μƒμˆ˜λŠ” λ³€μˆ˜μ™€λŠ” 달리 ν•œλ²ˆ μ €μž₯된 값을 λ‹€μ‹œλŠ” λ°”κΏ€ 수 μ—†μŒ

const birth = "1997.04.16";
  • μƒμˆ˜λŠ” μ„ μ–Έ μ΄ν›„μ—λŠ” λ‹€μ‹œλŠ” 값을 넣어쀄 μˆ˜κ°€ μ—†κΈ° 떄문에 무쑰건 μ„ μ–Έκ³Ό λ™μ‹œμ— 초기 값을 ν• λ‹Ήν•˜λŠ” μ΄ˆκΈ°ν™”λ₯Ό λ°˜λ“œμ‹œ ν•΄μ€˜μ•Ό ν•œλ‹€. 라고 κΈ°μ–΅ν•˜κΈ°

(1) Number Type

let num1 = 27;
let num2 = 1.5;
let num3 = -20;

console.log(num1 + num2);
console.log(num1 - num2);
console.log(num1 * num2);
console.log(num1 / num2);
console.log(num1 % num2);

(2) String Type

let myName = "μ΄μ •ν™˜";
let myLocation = "λͺ©λ™";
let introduce = myName + myLocation;

let introduceText = `${myName}은 ${myLocation}에 κ±°μ£Όν•©λ‹ˆλ‹€`;

(3) Boolean Type

let isSwitchOn = true;
let isEmpty = false;

(4) Null Type

let empty = null;
  • 아무것도 μ—†λ‹€. / null 값은 Undefined 와 λ‹€λ₯΄κ²Œ 직접 할당을 ν•΄μ€˜μ•Ό ν•˜λŠ” 값이닀.

(5) Undefined Type

let none;
console.log(none);
  • λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  κ·Έ λ³€μˆ˜μ— μ–΄λ– ν•œ 값도 μ§‘μ–΄ λ„£μ§€ μ•Šμ•˜μ„ λ•Œ μžλ™μœΌλ‘œ 할당이 λ˜λŠ” 값이닀.
  • λ¬΅μ‹œμ  ν˜•λ³€ν™˜, λͺ…μ‹œμ  ν˜• λ³€ν™˜
λ¬΅μ‹œμ  ν˜• λ³€ν™˜ λͺ…μ‹œμ  ν˜• λ³€ν™˜
(암묡적 ν˜• λ³€ν™˜), κ°œλ°œμžκ°€ 직접 μ„€μ •ν•˜μ§€ μ•Šμ•„λ„ μ•Œμ•„μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진이 ν˜• λ³€ν™˜ ν•˜λŠ” 것을 말함 κ°œλ°œμžκ°€ 직접 ν•¨μˆ˜ 등을 μ΄μš©ν•΄ ν˜• λ³€ν™˜μ„ μΌμœΌν‚΄

λ¬΅μ‹œμ μ€ λ‚΄κ°€ 생각지도 λͺ»ν•˜κ²Œ λ°”λ€” 수 μžˆλŠ”κ²ƒμ΄κ³  λͺ…μ‹œμ μ€ λ‚΄κ°€ μ‹œμΌœμ•Όλ§Œ λ°”λ€ŒλŠ” 것이라고 μ΄ν•΄ν•˜λ©΄ λœλ‹€.

(1) νšŒμ›κ΄€λ¦¬ μ‹œμŠ€ν…œ

let userName = "μž„μˆ˜κ²½";
let userNickName = "Ready";

let displayName = userName;

λ§Œμ•½ userNameμ΄λΌλŠ” λ³€μˆ˜μ˜ 값이 μ‘΄μž¬ν•œλ‹€λ©΄ userName을 displayeName에 μ €μž₯ν•˜κ³ , Undefined 라면(μ—†λ‹€λ©΄) κ·Έλ•ŒλŠ” userNickName으둜 μ €μž₯ν•˜κΈ°

let displayName = userName ?? userNickName;
console.log(displayName)

(2) μ‚Όν•­ μ—°μ‚°μž (쑰건식을 μ΄μš©ν•΄μ„œ μ°Έ, 거짓일 λ•Œ 값을 λ‹€λ₯΄κ²Œ λ°˜ν™˜)

  • μš”κ΅¬μ‚¬ν•­

    λ³€μˆ˜ res에 var8의 값이 짝수 -> "짝", ν™€μˆ˜ -> "홀"

let var8 = 10;
let res = var8 % 2 === 0 ? "짝수" : "ν™€μˆ˜";

console.log(res);

쑰건문 (Conditional Statement) λž€?

νŠΉμ • 쑰건을 만쑱 ν–ˆμ„ λ•Œμ—λ§Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•œκΈ° μœ„ν•œ 문법
λŒ€ν‘œμ μœΌλ‘œ if, switch 쑰건문이 μ‘΄μž¬ν•¨

Loop, Iteration

μ–΄λ– ν•œ λ™μž‘μ„ λ°˜λ³΅ν•΄μ„œ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ λ§Œλ“€μ–΄ μ£ΌλŠ” 문법
for(μ΄ˆκΈ°μ‹; 쑰건식; 증감식) {
	console.log(idx);
}

βœ… μ΄ˆκΈ°μ‹ : 반볡문 λ‚΄λΆ€μ—μ„œλ§Œ μ΄μš©ν•  수 μžˆλŠ” νŠΉλ³„ν•œ λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™”ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 식

반볡문 λ‚΄μ—μ„œλ§Œ μ“Έ 수 μžˆλŠ” λ³€μˆ˜λΌκ³  ν•˜λ©΄ 보톡 이 반볡이 ν˜„μž¬ 총 λͺ‡λ²ˆμ΄λ‚˜ 진행이 λ˜μ—ˆλŠ”μ§€ 카운트 ν•˜λŠ” 값을 μ €μž₯ν•˜λŠ” λ³€μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.
λ‹€λ₯Έ λ§λ‘œλŠ” μΉ΄μš΄ν„° λ³€μˆ˜ 라고 λΆ€λ₯΄κΈ°λ„ ν•œλ‹€.
for (let idx=0; 쑰건식; 증감식)
    idxλΌλŠ” λ³€μˆ˜κ°€ 반볡문이 μ§€κΈˆκΉŒμ§€ 총 λͺ‡λ²ˆ μ‹€ν–‰ λ˜μ—ˆλŠ”μ§€ μ €μž₯ν•˜κ²Œ 될 것
    그렇기에, 초기 κ°’μœΌλ‘œ 일단 0으둜 μ„€μ •ν•΄ λ‘μ—ˆλ‹€.

βœ… 쑰건식 : 이 반볡문이 μ–Έμ œκΉŒμ§€ λ°˜λ³΅ν•  건지 μ„€μ •ν•˜λŠ” 식

μ—¬κΈ°μ„œλŠ” 이 쑰건식이 참일 λ•Œλ§Œ 계속 반볡이 진행이 되고 λ§Œμ•½ 거짓이 되면 μ’…λ£Œ
for(let idx=0; idx < 5; 증감식)
    λ³€μˆ˜ idx의 값이 5이상이 λ˜λŠ” μˆœκ°„ 반볡이 μ’…λ£Œλœλ‹€. κ·Έμ „κΉŒμ§€λŠ” console.log값을 μ§„ν–‰ν•œλ‹€.

βœ… 증감식 : 증감식은 보톡 이 ν•œ 번의 반볡이 μ’…λ£Œλ  λ•Œλ§ˆλ‹€ λ³€μˆ˜μΈ idx의 값을 μ¦κ°€μ‹œν‚€λŠ” μš©λ„λ‘œ μ‚¬μš©λœλ‹€.
증가λ₯Ό μ‹œμΌœμ€˜μ•Ό λͺ‡λ²ˆ λ°˜λ³΅ν–ˆλŠ”μ§€ μ…€ 수 μžˆλ‹€.

for(let idx=0; idx < 5; idx++)
    증감 μ—°μ‚°μžλ₯Ό μ΄μš©ν•˜μ—¬ 1μ”© μΉ΄μš΄ν„° λ³€μˆ˜λ₯Ό μ¦κ°€μ‹œν‚€λŠ” 증감식을 μž‘μ„±
    λ§€ λ°˜λ³΅λ§ˆλ‹€ idx의 값이 1μ”© λŠ˜μ–΄λ‚˜λŠ” 것
  • μ€‘λ³΅μœΌλ‘œ μž‘μ„±λœ μœ μ‚¬ν•œ κΈ°λŠ₯을 ν•˜λŠ” μ½”λ“œλŠ” λ™μΌν•œ κΈ°λŠ₯을 일일이 타이핑 ν•΄μ•Όν•˜λŠ” 점과 ν–₯ν›„ μ½”λ“œλ₯Ό μˆ˜μ • μ‹œ λ¬Έμ œκ°€ 생길 수 μžˆλ‹€.
  • μ΄λŸ¬ν•œ λ¬Έμ œλ“€μ„ ν•¨μˆ˜λ‘œ 해결이 κ°€λŠ₯ν•˜λ‹€.

(1) ν•¨μˆ˜ ν‘œν˜„μ‹

let varB = function funcB() {
	console.log("funcB");
};

varB();

(2) ν™”μ‚΄ν‘œ ν•¨μˆ˜

let varC = (value) => {
  console.log(value);
  return value + 1;
};

console.log(varC(10));
function main(value) {
    value();
}
function sub(){
    console.log("sub");
}

main(sub);
  • μ „μ—­ μŠ€μ½”ν”„ : 전체 μ˜μ—­μ—μ„œ μ ‘κ·Ό κ°€λŠ₯
  • μ§€μ—­ μŠ€μ½”ν”„ : νŠΉμ • μ˜μ—­μ—μ„œλ§Œ μ ‘κ·Ό κ°€λŠ₯\
let a = 1; // μ „μ—­ μŠ€μ½”ν”„

function funcA() {
  let b = 2; // μ§€μ—­ μŠ€μ½”ν”„
  console.log(a);
}

(1) μƒμˆ˜ 객체

const animal = {
  type: "고양이",
  name: "λ‚˜λΉ„",
  color: "black",
};

animal.age = 2; // μΆ”κ°€
animal.name = "까망이"; // μˆ˜μ •
delete animal.color; // μ‚­μ œ

(2) λ©”μ†Œλ“œ

const person = {
  name: "μž„μˆ˜κ²½",
  // λ©”μ„œλ“œ μ„ μ–Έ
  sayHi() {
    console.log("μ•ˆλ…•!");
  },
};

person.sayHi();
// μ•ˆλ…•!
person["sayHi"]();
// μ•ˆλ…•!

About

🐼 Onebite React.js Basics and Projects

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published