1. if 조건문
if(조건) {
조건이 참일 경우 실행되는 코드
} else {
조건 외의 코드
}
- if 조건문에서 조건이 boolean타입이 아닌 경우
- 조건이 nul, ' ', undefined 일 경우 false
- 조건이 !null이리 경우 null을 부정함으로서 true가 됨
2. switch 조건문
- 엄격 동등 연산(===)을 수행한다
var year = 2022;
switch(year) {
case 2021:
console.log('작년');
break;
case 2022:
console.log('이번 년도');
break;
case 2023:
console.log('내년');
break;
default:
console.log('.');
}
3. 삼항연산자
- 조건 ? 값1 : 값2
- 조건이 참일 경우 값1을 리턴하며 조건이 거짓일 경우 값2를 리턴한다
var year = 2022;
var r = year === 2022 ? '올해' : '내년';
console.log(r);
4. for 반복문
- 새로운 변수 i가 3보다 작으면 하나씩 증가시키며 출력
for(var i=0; i<3; i++) {
console.log(i);
}
- 반복문을 사용해서 1부터 10까지의 합 구하기
var sum = 0;
for(var i=0; i<=10; i++) {
sum += i;
}
console.log(sum);
- 문자열 순회하기 (b, a, r 출력)
var foo = 'bar';
for(var i=0; i<foo.length; i++){
console.log(foo[i])
}
- break는 반복문 을 중단시키는 역할을 한다.
- continue는 반복문 중, 특정한 부분에서 코드를 실행하지 않고 넘어가게 한다.
for(var i=0; i<=10; i++){
if(i === 5){
continue;
}
if(i === 7) {
break;
}
console.log(i);
}
// 0 1 2 3 4 6 출력
5. while 반복문
- for와 달리 변수를 따로 생성해주어야 함
var i=0;
while(i < 3) {
console.log(i)
i++;
}
6. 변수와 상수
- var (변수, variables)
- let (변수)
- const (상수, constant)
- 변수 혹은 상수에 이름을 붙여 존재하게 하는 것을 '선언'이라고 하며 값을 할당하는 것을 '초기화'라고 한다
var foo; // foo 변수 선언
foo = 'bar'; // foo 변수 정의
var baz = 'fab'; // baz 변수 초기화
var baz = 'poc'; // baz 변수 재선언
baz = 'poc'; // baz 변수 재정의
- var는 유일하게 변수 재선언이 가능하다
- const로 한번 선언한 값은 변할 수 없다.
- let과 const는 블록(block)의 범위를 갖는다: 범위 밖에서 사용될 수 없다.
{
var foo = 'Foo';
let bar = 'Bar';
const baz = 'Baz';
console.log(foo);
console.log(bar);
console.log(baz);
}
console.log(foo); // var은 block 밖에서도 block안에서 선언된 함수 사용 가능
console.log(bar); // let은 block 밖에서 사용 불가
console.log(baz); // const역시 block 밖에서 사용 불가
- 전역변수와 지역변수
전역(Global)변수: 함수 밖에서 선언된 변수 - 함수 안에서 전역변수로 접근 가능
지역(local)변수: 함수 안에서 선언된 변수 - 함수 밖에서 지역변수로 접근 불가능
/* 전역변수 */
const foo = 'bar';
function f() {
console.log(foo);
}
f(); // bar
/* 지역변수 */
function f() {
const foo = 'bar'
}
f();
console.log(foo); // error
7. 함수
- 호출될 때만 실행되는 코드
- 함수 정의하기
// (1) 함수 선언식
function f(x, y) {
console.log(x + y);
}
// (2) 함수 표현식
const f = function(x, y) { // 이름없는 함수를 변수에 할당
console.log(x + y)
}
// (3) 화살표함수
const f =(x, y) => {
console.log(x + y);
}
- Hoisting (계양)
변수의 선언 혹은 함수의 정의가 어디에 있든 상관없이 다른 코드보다 먼저 실행되는 특징을 호이스팅(hoisting)이라고 한다. 즉, 함수나 변수를 우선 참조한 후 아랫줄에 정의 혹은 선언하여도 정의, 선언한 코드가 우선 실행되어 정상적으로 작동한다. 단, 함수에서의 호이스팅은 함수선언식으로 정의했을 경우에만 해당된다.
f();
function f() {
console.log('foo'); // 함수의 호출시점보다 함수의 정의가 아래에 있어도 함수의 정의가 계양된다.
}
f();
const f = () => {
console.log('foo'); // 계양x
}
- 전역변수와 지역변수
- 전역(global) 변수: 함수 밖에서 선언된 변수, 함수 안에서 전역변수로의 접근이 가능하다.
- 지역(local)변수: 함수 안에서 선언된 변수, 함수 밖에서 지역변수로의 접근이 불가능하다
// 전역변수
const foo = 'bar';
function f() {
console.log(foo);
}
f(); // bar
// 지역변수
function f() {
const foo = 'bar';
}
f();
console.log(foo); // 오류
- 함수의 인자
- parameter: 함수를 정의할 때 사용하는 인자
- argument: 함수를 호출할 때 사용하는 인자
function add(x, y) { // parameter
console.log(x + y);
}
add(1, 2) // argument
- 콜백(callback)
- 다른 함수의 인자가 되는 함수
function f(callback) {
let r = callback();
console.log(r);
}
f(function() { // f에 익명함수를 인자로 콜백하여 사용
return "foo"
})
- 시계
Date 함수를 통해 현재시각을 받아온다
setInterval(callback, ms): ms(milliseconds)마다 callback을 실행하는 함수이다.
function getTime() {
let time = new Date().toLocaleTimeString();
console.log(time);
}
getTime();
setInterval(getTime, 10000);
댓글