반응형
연산자 :
JavaScript에서는 여러 가지의 연산자가 있습니다. 종류를 살펴보면
- 산술 연산자 : +, -, *, /, %, **
- 증감 연산자 : ++ (1씩 증가), -- (1씩 감소)
- 대입 연산자 : let x = 10 // 오른쪽에 있는 값 10을 x에 대입.
- 할당 연산자 :
- 비교 연산자 : == (값이 같다), === (데이터 타입이 같다),
- `!=` (값이 다르다)
- 논리 연산자 : && (AND), || (OR), !(NOT)
이렇듯 여러 가지의 연산자들을 자유롭게 작성하기 위해서 많이 익숙해지고 연습이 필수인것같다.
조건문 :
if 문 의 기본 구성은 -> if (조건) {수행할 명령}
let a = 20;
let b = 40;
if (a>b) {
console.log("a는 b보다 크다");
} else {
console.log("a는 b보다 작거나 같다");
// 합격 여부 확인하기!
var scores = {
"kor": 55,
"mat": 75,
"eng": 50
}
if (scores['kor'] < 40 || scores['mat'] < 40 || scores['eng'] < 40) {
document.write('fail'); //
} else if (scores['kor'] + scores['mat'] + scores['eng'] < 180) {
document.write('fail');
} else {
document.write('pass');
}
조건문은 쉬운 거 같으니 넘어가고 헷갈리는 반복문을 알아보자! (사실 조건문도 복잡해지면 헷갈린다...)
반복문 :
- for : for (초기화한 변숫값; 조건; 증감표시) {수행명령}
- while : while(조건){수행할 명령)
- do/while : do {수행할 명령} while (조건) (최소 한 번은 실행!)
//별찍기 (중복 for문의 예제)
function pyramid (num) {
for(let i = 0; i < num; i++) { // 피라미드 행 생성
for(let j = num -1 ; j > i; j--) { // 왼쪽 공백 생성
document.write(' ');
}
for(let j=0; j <= i; j++) { //왼쪽부터 가운데 까지의 * 출력
document.write('*');
}
for(let j=1; j <= i; j++) { // 가운데 부터 나머지 * 출력
document.write('*');
}
document.write('<br>'); // 피라미드 행 줄바꿈
}
}
pyramid(3)
pyramid(1)
pyramid(4)
pyramid(10)
pyramid(2)
- for 문의 종류 중 for/in, for/of 문이 있는데 차이점을 알아보자.
// for/of문
let fruits = ["apple", "banana", "strawberry"]; // 배열형식
for (let fruit of fruits) {
// fruit에 fruits의 값들이 순서대로 할당
console.log(fruit); // 값 출력
}
// for/in문
let person = {name: "Jay", age: 15, hobby: "reading"}; // 객체형식
for (let prop in person) {
// prop에 person의 속성들이 순서대로 할당
console.log(prop + ": " + person[prop]); // 속성과 값 출력
}
이와 같이, for/in문은 객체의 속성들에 대해 반복하는 구조이다
for/of문은 배열, 문자열 등 반복 가능한 객체의 값들에 대해 반복하는 구조이다.
- while문은 조건식이 참일 때 계속해서 수행할 명령을 실행한다.
let n = 0;
while(n<10){ //n이 10보다 작을때
console.log(n); //n의 값을 출력
n++; // 그리고 나서 n의 값을 1씩 증가
}
메서드(Method):
함수나 배열, 문자열 등에서 사용할 수 있는 내장함수이다. 엄청 많은 종류가 있으니 필요할 때마다 검색하여 익히자!
자주 쓰이는 배열 메서드를 살펴보자면, map, filter, reduce가 있다.
map : 주어진 모든 배열에 함수를 적용 후 그 값을 새로운 배열로 반환
filter : 주어진 모든 배열에 함수의 주어진 조건을 적용하고, 참인 값 반환
reduce : 주어진 모든 배열에 함수를 적용 후 그 값을 마지막 최종 값을 반환
일급객체? closure? this? 비동기 통신? 콜백? 더 공부해야 할 개념들이 수두룩하다, 이것들은 다음 글에서 더 자세히 정리해 보자!