let name = "이름";
let x = 5;
x = x - 2;
프로그램에서 =은 값이 같다는 것을 의미하기 보다는 오른쪽에 있는 피연산자를 왼쪽에 있는 피연산자에 할당하는 의미를 갖고 있다.
// 서로 붙어있는 두 줄을 같다.
x = x + 1;
x += 1;
x = x + 2;
x += 2;
x = x * 2;
x *= 2;
x = x - 3;
x -= 3;
x = x / 2;
x /= 2;
x = x % 7;
x %= 7;
변수의 값을 1씩 증가시키거나 감소시킬 때는 복합 할당 연산자보다 더 간략하게 증가연산자, 감소연산자를 사용하면 된다. 더하기 기호를 연달아 쓰거나(++), 빼기 기호를 연달아 쓰면 된다.(--)
// 다음 세 줄은 같은 의미이다.
x = x + 1;
x += 1;
x++;
// 다음 세 줄은 같은 의미이다.
x = x - 1;
x -= 1;
x--;
function introduce(name, age, nationality = '한국') {
console.log(`제 이름은 ${name}입니다.`);
console.log(`나이는 ${age}살 이고,`);
console.log(`국적은 ${nationality}입니다.`);
};
introduce('코드잇', 4, '미국'); // 값을 모두 전달한 경우
introduce('코드잇', 4); // 파라미터 값을 생략한 경우
파라미터 값에 아무 값도 할당하지 않으면 결과값으로 undefined가 출력된다. 옵셔널 파라미터는 파라미터에 미리 값을 할당하는 것을 의미한다. 옵셔널 파라미터를 선언할 때는 가장 뒤쪽에 선언해야 한다.
let x = 3; // 글로벌 변수, 전역 변수 (Global Variable)
function myFunction() { // 블록문 (Block Statement)
let x = 5; // 로컬 변수, 지역 변수 (Local Variable)
console.log(x);
};
myFunction(); // 5
console.log(x); // 3
// 상수 (constant)
const PI = 3.14; // 값 변경 X
let radius = 0; // 처음에 빈 값으로 표현하고 싶을 때 -> 문자(''), 숫자(0)
// 원의 넓이를 계산하는 함수
function calculateArea() {
return PI * radius * radius;
};
// 반지름에 따른 원의 넓이를 출력하는 함수
function printArea() {
return `반지름이 ${radius}일 때, 원의 넓이는 ${calculateArea()}`;
};
radius = 4;
console.log(printArea());
radius = 7;
console.log(printArea());
상수명은 대문자를 사용하고 띄어쓰기를 사용할 때는 밑줄(_)로 표기한다.
/* if문
if (조건부분) {
동작부분
}
*/
let temperature = 1;
if (temperature <= 0) {
console.log("물이 업니다.");
} else {
console.log("물이 얼지 않습니다.");
};
// else if문
let temperature = 1;
if (temperature <= 0) {
console.log("물이 업니다.");
} else if (temperature < 100) {
console.log("물이 얼지도 끓지도 않습니다.");
} else {
console.log("물이 끓습니다.");
}
switch(비교할_값) {
case 조건값_1:
동작부분;
break; // switch문을 빠져나오기 위한
case 조건값_2:
동작부분;
break;
default: // 아무 조건도 만족하지 않을 때
동작부분;
}
let myChoice = 2;
switch(myChoice) {
case 1:
console.log('토끼를 선택한 당신, ...');
break;
case 2:
console.log('고양이를 선택한 당신, ...');
break;
case 3:
console.log('코알라를 선택한 당신, ...');
break;
case 4:
console.log('강아지를 선택한 당신, ...');
break;
default:
console.log('1에서 4사이의 숫자를 선택해 주세요.');
};
let myChoice = 2;
switch(myChoice) {
case 1:
console.log('토끼를 선택한 당신, ...');
break;
case 2:
console.log('고양이를 선택한 당신, ...');
break;
case 3:
console.log('코알라를 선택한 당신, ...');
break;
case 4:
console.log('강아지를 선택한 당신, ...');
break;
default:
console.log('1에서 4사이의 숫자를 선택해 주세요.');
}
if (myChoice === 1) {
console.log('토끼를 선택한 당신, ...');
} else if (myChoice === 2) {
console.log('고양이를 선택한 당신, ...');
} else if (myChoice === 3) {
console.log('코알라를 선택한 당신, ...');
} else if (myChoice === 4) {
console.log('강아지를 선택한 당신, ...');
} else {
console.log('1에서 4사이의 숫자를 선택해 주세요.');
}
범위를 만족하는 조건식을 만든 때는 if문을 활용하는 것이 효과적이고, 특정값을 만족하는 조건식을 만든 때는 switch문이 더 효과적이다. 또한 조건식에서는 반드시 등호를 3개 입력해야 한다. switch문은 값들을 비교할 때 자료형을 엄격하게 구분한다는 점과 if문으로 대체할 때는 반드시 등호 3개를 사용해 일치 비교를 해야 한다.
/*
for (초기화부분; 조건부분; 추가동작부분) {
동작부분
};
*/
// '최고! 라는 문자를 10번 출력
for (let i = 1; i <= 10; i++) {
console.log(`${i} 최고!`);
};
// 추가 동작 부분을 꼭 채울 필요는 없다.
for (let i = 1; i <= 10;) {
console.log(`${i} 깨진알 최고!`);
i++;
}
// 초기화 부분에서 생성한 변수를 for문의 로컬 변수다
for (let i = 1; i <= 10; i++) {
console.log(`${i} 깨진알 최고!`);
}
console.log(i); // Error!
// 초기화 부분도 반드시 채울 필요는 없다
let i = 1;
for (; i <= 10; i++) { // for문의 소괄호 안쪽 가장 첫 번째 세미콜론은 생략할 수 없다.
console.log(`${i} 깨진알 최고!`);
}
// 1 ~ 100까지 짝수만 출력
for (let i = 2; i <= 100; i += 2) {
console.log(i);
}
// *을 이용하여 직각삼각형 만들기 (여러 응용 문제 많으니 찾아서 풀어보기 추천
function printTriangle(height) {
for (let i = 1; i <= height; i++) {
let star = '';
for (let j = 1; j <= i; j++) {
star += '*';
};
console.log(star);
};
};
console.log('높이: 3');
printTriangle(3);
while (조건부분) {
동작부분
};
// 최고! 10번 출력
let i = 1;
while (i <= 10) {
console.log(`${i} 최고!`);
i++;
};
// 7의 배수 찾기
let i = 30;
while (i % 7 !== 0) {
i++;
}
console.log(i);
// 1 ~ 100까지 홀수 출력
let i = 1
while (i <= 100) {
console.log(i);
i += 2;
};
// 180의 약수와 갯수 구하기
const N = 180;
let i = 1;
let count = 0;
while(i <= 180) {
if (N % i === 0) {
console.log(i);
count++;
};
i++;
};
console.log(`${N}의 약수는 총 ${count}개입니다.`);
// 1부터 10까지 홀수 출력
// for문, break 사용
for (let i = 1; i <= 10; i++) {
console.log(i);
if (i === 7) {
break;
};
};
// while문, break 사용
let i = 1;
while (i <= 10) {
console.log(i_;
if (i === 7) {
break;
};
i++;
};
// for문, continue 사용
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
continue; // 조건에 맞으면 아래 출력을 넘어간다.
};
console.log(i);
};
// while문, continue 사용
let i = 1;
while (i <= 10) {
if (i % 2 === 0) {
i++; // 미리 continue전에 증가시켜 주어야 한다
continue;
};
console.log(i);
i++;
};
for(let i = 1; i <= 9; i++) {
for (let j = 1; j <= 9; j++) {
console.log(`${i} * ${j} = ${i * j}`);
};
};
let first = 1;
let second = 1;
for (let i = 1; i <= 50; i++) {
if (i <= 2) {
console.log(1);
continue;
};
const sum = first + second;
first = second;
second = sum;
console.log(sum);
};