본문 바로가기
JavaScript

JS 2일차

by Zㅣ존수빈zz 2022. 12. 14.

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);

 

'JavaScript' 카테고리의 다른 글

JS 6일차  (0) 2022.12.27
JS 5일차  (0) 2022.12.23
JS 4일차  (0) 2022.12.19
JS 3일차  (0) 2022.12.19
JS 1일차  (0) 2022.12.11

댓글