Javascript 공부 - 001

변우영·2024년 8월 13일

Javascript

목록 보기
2/7

<목표>

  • Javascript란 무엇인가
  • 기본 문법 이해

1. Javascript

특징

  1. 자바스크립트절차지향객체지향객체지향 프로그래밍 언어이다.
    절차지향은 순서대로 실행되는 반면 객체지향은 객체의 그룹으로 묶여서 그룹별로 실행해준다.
    그러므로 절차지향은 순서가 절대적이고, 객체지향은 순서는 자유롭고 객체 그룹의 속성이 중요하다.

  2. 동적 타이핑 언어이다.
    프로그래밍 언어에서 변수 선언을 할때 타입을 명시해야하지만, 자바스크립트에서는 var, let, const 이라는 키워드로 런타임 시점에 변수타입을 자동으로 지정해준다.

  3. 일급객체 함수
    함수를 하나의 객체로 인식하고, 변수에 할당하거나 함수의 인자로 전달하거나, 함수의 반환값으로 사용 할 수 있다.

  4. 자바스크립트활용성
    자바스크립트는 HTML, CSS와 같이 프론트엔드에서도 사용이 가능하며, Node.js와 같이 서버에서도 활용 가능한 다방면의 지원 언어이다.

기본 문법

1. 변수

JavaScript에서는 let, const, 를 사용하여 var변수를 선언한다.

let name = "Alice";  // 재할당 가능한 변수
const age = 25;      //재할당 불가능한 변수
var isStudent = true;

2. 데이터 유형

JavaScript는 기본형과 객체를 포함한 다양한 데이터 유형을 지원한다.

// 기본 데이터 타입
let message = "Hello, World!"; // String
let count = 42;                // Number
let isActive = true;           // Boolean
let emptyValue = null;         // Null
let notDefined;                // Undefined

// 다양한 복합 타입
let person = {
    firstName: "John",
    lastName: "Doe"
}; // 객체

let numbers = [1, 2, 3, 4, 5]; // 배열

3. 기능

함수는 여러 가지 방법으로 정의 할 수 있다.

// 함수 선언
function greet(name) {
    return `Hello, ${name}!`;
}

// 함수 표현식
const add = function(x, y) {
    return x + y;
};

// 화살표 함수 (ES6)
const multiply = (x, y) => x * y;

// 함수 사용법
console.log(greet("Alice")); // "Hello, Alice!"
console.log(add(2, 3));      // 5
console.log(multiply(4, 5)); // 20

4. 제어문

코드를 반복하기 위한 제어 구조를 제공한다.

  • 조건문
let temperature = 30;

if (temperature > 25) {
    console.log("It's a hot day!");
} else if (temperature > 15) {
    console.log("It's a pleasant day!");
} else {
    console.log("It's a cold day!");
}
  • 반복문
// For문
for (let i = 0; i < 5; i++) {
    console.log(`Number: ${i}`);
}

// While문
let countDown = 5;
while (countDown > 0) {
    console.log(`Countdown: ${countDown}`);
    countDown--;
}

// Do-while문
let counter = 0;
do {
    console.log(`Counter: ${counter}`);
    counter++;
} while (counter < 3);
  • 배열 사용 및 반복문 적용
let fruits = ["apple", "banana", "cherry"];

// 요소에 접근
console.log(fruits[0]); // "apple"

// 요소 추가
fruits.push("orange");

// 배열 순회
fruits.forEach(fruit => {
    console.log(fruit);
});
  • 객체 사용 및 포문
let car = {
    make: "Toyota",
    model: "Camry",
    year: 2020
};

// 속성 접근
console.log(car.make);  // "Toyota"
console.log(car["model"]); // "Camry"

// 속성 추가
car.color = "blue";

// 속성 순회
for (let key in car) {
    console.log(`${key}: ${car[key]}`);
}

정도로 익혀 보았습니다.

profile
개발자로 한걸음!

1개의 댓글

comment-user-thumbnail
2024년 8월 13일

function complexMessage() {
const parts = ["멋", "진", " ", "블", "로", "그", " ", "입", "니", "다"];

const mixedParts = parts.slice().sort((a, b) => (a.charCodeAt(0) % 5) - (b.charCodeAt(0) % 5));

const orderedParts = mixedParts.slice().sort((a, b) => parts.indexOf(a) - parts.indexOf(b));

let message = orderedParts.join('');

for (let i = 0; i < message.length; i++) {
    process.stdout.write(message[i]);
    if (i % 3 === 2) {
        process.stdout.write(' ');
    }
}
console.log();  // 줄 바꿈

}

complexMessage();

답글 달기