TIL

김석범·2023년 9월 12일
0

JS 기본 문법

1. 변수와 상수

  • 변수 (Variable): 값이 변경될 수 있는 공간. let을 사용하여 선언
let name = "John";
name = "Doe"; 
  • 상수 (Constant): 값이 변경될 수 없는 공간. const를 사용하여 선언
const PI = 3.14;

2. 데이터 타입

  • Primitive Types: number, string, boolean, undefined, null, symbol, bigint
let age = 20;  
let isStudent = true;  
let city; 
  • Reference Types: 객체(object), 배열(array), 함수(function)
let person = {
    name: "John",
    age: 25
}; 
let numbers = [1, 2, 3, 4, 5]; 

3. 함수

함수는 특정 동작을 수행하는 코드 블록

function greet(name) {
    return "Hello, " + name + "!";
}

console.log(greet("John")); 

4. 조건문

  • if, else if, else:
let score = 85;

if(score >= 90) {
    console.log("A");
} else if(score >= 80) {
    console.log("B");
} else {
    console.log("C");
}
  • switch case:
let day = 2;
switch(day) {
    case 1:
        console.log("Monday");
        break;
    case 2:
        console.log("Tuesday");
        break;
   
    default:
        console.log("Invalid day");
}

5. 반복문

  • for:
for(let i=0; i<5; i++) {
    console.log(i);
}
  • while loop:
let i = 0;
while(i < 5) {
    console.log(i);
    i++;
}

6. 배열과 메소드

배열은 여러 개의 값을 하나의 변수에 저장

let colors = ["red", "green", "blue"];
colors.push("yellow");  
colors.pop();  
console.log(colors.length);  

7. 변수의 Scope (스코프)

  • 전역 스코프 (Global Scope): 코드의 모든 영역에서 접근 가능한 변수를 의미
  • 함수 스코프 (Function Scope): 특정 함수 내부에서만 접근 가능한 변수를 의미 var로 선언된 변수는 함수 스코프를 갖는다.
  • 블록 스코프 (Block Scope): { } 블록 내부에서만 접근 가능한 변수를 의미 let과 const로 선언된 변수는 블록 스코프를 갖는다.
let globalVar = "I am a global variable";

function testScope() {
    var functionVar = "I am a function variable";
    if (true) {
        let blockVar = "I am a block variable";
        console.log(globalVar); 
        console.log(functionVar);  
    }
}

testScope();

8. 변수의 Shadowing

변수의 쉐도잉은 같은 이름의 변수가 내부 스코프에서 외부 스코프의 변수를 가리는 현상을 의미

let name = "John";

function shadowingExample() {
    let name = "Doe"; 
    console.log(name);  
}

shadowingExample();
console.log(name);

9. Method와 this

객체의 속성으로 저장된 함수를 메서드라고 부른다. this는 실행 컨텍스트에 따라 가리키는 객체가 달라지며, 대부분의 경우 메서드를 호출하는 객체를 가리킨다.

let person = {
    name: "John",
    greet: function() {
        console.log("Hello, " + this.name);
    }
};

person.greet();

10. Closure (클로저)

function outerFunction() {
    let outerVar = "I am an outer variable";

    function innerFunction() {
        console.log(outerVar); 
    }

    return innerFunction;
}

let closure = outerFunction();
closure();

평균 구하기

function average(arr) {
    let sum = 0;
    for (let value of arr) {
        sum += value;
    }
    return sum / arr.length;
}

let numbers = [10, 20, 30, 40, 50];
console.log(average(numbers)); 
profile
코딩왕

0개의 댓글