2023-03-10 20:04:28

JAVASCRIPT 란?

javascript는 객체 기반의 스크립트 언어로 웹에서 html로 내용을 작성하고 css로 디자인을 입힌다면 javascript로 동작을 구현할 수 있게 도와 주는 프로그래밍 언어이다. html 문서 내에 <script> 태그 안에서 동작하며 css 처럼 문서 내에 직접 쓸 수 도 있고 src 경로를 설정 하여 별도의 .js 파일을 만들어 불러올 수 있다.

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- css link -->
  </head>
  <body></body>
  <!-- script -->
  # 문서 내에서 javascript를 직접 작성하여 사용 가능
  <script>
  	console.log("hello world!")
  </script>
  # 다른 파일을 불러와서도 쓸 수 있다. 관리에 용이
  <!-- src에 가져올 스크립트 파일 경로 입력 -->
  <script src="./index.js"></script>
</html>

 

 

변수 선언

변수란 데이터를 가르키는 주소를 말하며 주소에 들어 있는 데이터를 쓰기위해 사용하며 변수를 선언하여 데이터를 정의하고 메모리에 담아 둔다. 변수를 선언하기 위한 키워드는 var, let, const 가 있고 변수를 저장 한다는 것은 같지만 각각 다른 특징을 가지고 있다.

 

var 전역변수 재선언 가능 업데이트 가능
let 지역변수 재선언 불가능 업데이트 가능
const 지역변수 재선언 불가능 업데이트 불가능

 

  • var 예제
var num1 = 1;
# 재선언이 가능
var num1 = 1;
console.log("num1 : " + num1);

for (var i = 0; i < 1; i++) {
  # num1 변수에 다른 값 입력
  num1 = "hello world!";
  console.log("num1 : " + num1);
}

# for문 안에서 내용이 바뀌었지만 나와서도 바뀐 내용 유지
console.log("num1 : " + num1);

 

 

  • let 예제
let num2 = 2;
# 재선언을 하게 되면 에러남
// let num2 = 2;
console.log("num2 : " + num2);

for (var j = 0; j < 1; j++) {
  # 다른 지역에 있기 때문에 재선언 가능
  let num2 = "hello world!";
  let num3 = "hello world!";
  # num2 업데이트
  num2 = "22!";
  console.log("num2 : " + num2);
  console.log("num3 : " + num3);
}

# for문 안에서 바뀐 내용은 안에서만 적용되고 for문을 벗어나면 기존 num2의 값을 출력
console.log("num2 : " + num2);
# num3는 다른 지역에서 선언 되었기 때문에 여기선 에러남
console.log("num3 : " + num3);

 

 

  • const 예제
const num4 = 4;
# 재선언이 불가능 하기 때문에 에러남
// const num4 = 3;
console.log("num4 : " + num4);

for (var x = 0; x < 1; x++) {
  # 다른 지역이기 때문에 재선언 가능
  const num4 = 5;
  # 업데이트가 불가능하여 에러남
  // num4 = "hello world!";
  console.log("num4 : " + num4);
}

# 지역을 벗어나 5가 아닌 4가 출력
console.log("num4 : " + num4);

 

 

데이터 타입

변수에 저장하기 위해선 데이터와 같은 타입의 변수를 저장 할 수 있는 공간이 있어야 한다. 

 

구분 타입 종류 선언 방법
기초 타입 number let test = 1;
  string let test = "1";
  boolean let test = true; let test1 = false;
  undefined let test;
  null let test = null
객체 타입 {} let test = {"데이터1", "데이터2"};
배열 타입 [] let test = ["데이터1", "데이터2"];

 

산술 연산자

연산을 하기 위해 사용되며 +, -, / , *, % 가 있다.

구분 설명 기본 형식
+ 덧셈 a + b
++ 증감 ++a, a++
- 뺄셈 a - b
-- 가감 --a, a--
/ 나눗셈 a / b
* 곱셈 a * b
% 나머지 a % b

 

// 산술 연산자
let a = 1;
let b = 2;
let c = 3;
let d = 5;
let e = 6;
let f = d % b;

console.log("a + b = " + (a + b));
console.log("a++ = " + a++); # 증감연산되기 때문에 1 출력 후 1이 더해져 2가 됨
console.log("++a = " + ++a); # 증가되고 출력되기 때문에 2에서 1이 더해져 3이 출력됨
console.log("a - b = " + (a - b));
console.log("b-- = " + b--); # 출력 후 1이 감소하여 값이 1이 됨
console.log("--b = " + --b); # 1로 감소된 상태에서 1이 감소 후 출력되기 때문에 0이 출력됨
console.log("e / c = " + e / c); # 연산자의 우선순위가 + 보다 / 가 높기 때문에 괄호를 하지 않아도됨
console.log("a * b = " + a * b); # 마찬가지고 * 연산자가 + 보다 우선순위가 높기 때문에 괄호를 하지 않아도됨
console.log("d % b = " + f);

 

 

 

비교 연산자

변수끼리 값을 비교하기 위해 사용 되며 !, ==, ===, !=, !==, >, >=, <, <= 가 있다.

구분 설명 기본 형식
== 같은 값인지 비교 후 boolean 타입으로 출력 a == b
=== 값과 타입 모두 비교 후 boolean 타입으로 출력 a === b
! boolean 값을 바꿈 !a
!= == 의 반대. 출력된 boolean 타입을 반전 a != b
!== 값과 타입 모두 비교하여 같지 않을때 a !== b
> 초과 a > b
>= 이상 a >= b
< 미만 a < b
<= 이하 a <= b

 

// 비교 연산자
let i = 10;
let ii = 11;
let j = "10";
let x = true;

console.log(i == j); # 타입을 비교하지 않아 10 == 10 은 같다고 판단하여 true
console.log(i === j); # 타입이 number와 string이기 때문에 false
j = 10;
console.log(i === j); # j의 타입을 number로 바꿧기 때문에 true
j = "10";
console.log(!x); # true의 반대 결과인 false 출력
console.log(i != j); # 타입을 비교하지 않아 true 지만 결과를 반전 시켜 false 출력
console.log(i !== j); # 값은 같지만 타입이 다르기 때문에 false지만 결과를 반전 시켜 true 출력

console.log(i > ii); # i는 ii 보다 작기 때문에 false
console.log(i < ii); # i는 ii 보다 작기 때문에 true

console.log(i <= j); # i는 j 보다 작거나 같기 때문에 true
console.log(i >= j); # i는 j 보다 크거나 같기 때문에 true
728x90