개발 노트

javascript// 2일차 [변수,연산자,형변환,코드블럭,데이터타입] 본문

Javascript

javascript// 2일차 [변수,연산자,형변환,코드블럭,데이터타입]

Meter216 2022. 10. 31. 17:14

목차

1. 변수

2. 연산자

  - 산술연산자

  - 당항 산술 연산자

  - 논리 연산자

  - 비교 연산자

3. 형변환

4. 코드블럭

5. 데이터 타입

  - 객체타입

  - 배열 , 객체


 

1. 변수

 

예약어

var     = 현재 배우지 않는 예약어!

let      = 재할당 가능 재선언 불가능  

const = 재할당, 재선언 불가능

 

**재선언

let arr = 3
let arr = 1
console.log(arr)

**Uncaught SyntaxError: Identifier 'arr' has already been declared

** 오류메세지 ( 이미 선언된 arr 언어)

 

**재할당

const arr = 1
arr = 3
console.log(arr)

**Uncaught TypeError: Assignment to constant variable. at

** 오류메세지 (  ?? )


2. 연산자

산술 연산자 단항 산술 연산자 논리 연산자 비교 연산자
+ ++ || >
- -- && <
* *=   >=
/ /=   =<
%     ==
      ===
      !=
      !==

**비교 연산자 

= 이후 오른쪽부터 코드 실행, 

JS에선 ==만쓰면 str 과 num를 구분하지 않고 +(-는 상관없음) 를 시켜주기 때문에 항상 ===를 쓰는것을 습관화. 

 

논리연산자

|| = or의 의미로 둘 중 하나라도 참이면  ture

&& = and의 의미로 둘 다 참이여야 true

기본적으로 값이 2개씩 필요


3. 형변환

 

컴퓨터에선 글자를 쓰던 숫자를 쓰던 모든 것을 글자로 인식한다. 따라서 글자를 숫자로 타입변환을 시켜주어야 한다. 

숫자로 변환시키는 명령어

Number()

parseInt()

**JS는 자비가 없기 때문에 대문자를 꼭 기억해야한다.


4. 코드블럭

괄호 안에 예약자를 넣어 괄호 밖에 있는 예약자엔 영향을 끼치지 않게 할 수 있다.

{
	let a = 0
}
console.log(a)

이런식으로 쓰게 된다면 콘솔창에선 a의 값을 찾지 못했다며 오류가 뜬다.

중괄호 안에서 선언된 코드는 중괄호 안에서만 사용이 가능하며 = 지역변수 라고 불리며 1회성 변수이다.

코드블럭 밖에서 사용된 변수 = 전역변수

let a
{
	a = 0
}
console.log(a)

블럭 밖에서 선언된 a가 중괄호 안에 변수가 할당됐어도 중괄호 밖에서의 console에 출력이 가능하다.


5. 데이터 타입

 

 - 원시타입

string   = 문자

number = 숫자

boolean = true, false 값

undefined = 값이 지정되지 않았을 때 뜨는 것

null = 값이 없을 때 인위적으로 넣는 값,  undefined 와 헷갈리지 않게 값을 넣어놓는다.

sumbol

 

 - 객체타입

  배열 하나의 변수에 여러 데이터를 넣고 싶은 경우 사용 (같은 성형을 가진 변수들을 모아두면 편하기 때문에)

  let a = [1, 2, 3, 4, 5, 6, 7, 8]
           0  1  2  3  4  5  6  7

값은 1 2 3 4 5 6 7 8 이지만 번호는 0 1 2 3 4 5 6 7  순으로 매겨진다.

 

선택하기

console.log(a[3]) 4
console.log(a[5]) 6
console.log(a[6]+a[7]) 15
console.log(a.length)

첫번째 항은 3번째 요소인 숫자 4가 선택.

두번째 항은 5번째 요소인 숫자 6이 선택.

세번째 항은 6번째 요소와 7번째 요소를 합친 값 15가 나온다.

네번째 항은 a의 요소의 총합인 8이 나온다.

 

 

 

연습하기

let a = input("첫번째 숫자를 입력하세요")
let b = input("두번째 숫자를 입력하세요")

a = Number(a) // a = parseInt(a)
b = Number(b) // b = parseInt(b)

if (a > b) {
	console.log(A가 큽니다.)
} else if (a < b) {
	console.log(B가 큽니다.)
} else {
	console.log(같습니다)
}

input"첫번째 숫자를 입력하세요" 를 할당받은 a와

input"두번째 숫자를 입력하세요" 를 할당받은 b

 

a와 b의 데이터 타입이 글자형식이기 때문에

재 할당을 통해 숫자로 바꿔줌 = Number 사용 (parseInt 도 가능) **대문자 주의

 

if  a값이 b값보다 클 경우 true 값 a가 큽니다. 실행

a가 b보다 작을경우 false > 다음 코드 b가 큽니다. 실행

a가 b와 같을경우 false > 다음 코드 같습니다 실행.

 

 

for (let i = 0; i < 5; i++){
	console.log('menu' + i)
    for (let j = 0; j < 5; j++) {
    	console.log("  submenu" + i + " - " + j)
        }
}

 

for 반복문 

i = 0 부터 시작 i가 5보다 작기 때문에 true 값 코드 실행 menu + i 출력

  >  안에있는 반복문 j = 0 시작 j는 5보다 작기 때문에  submenu + i + - + j 실행 이후 j++ 실행

     > j = 1이 된 상태에서 다시 for j부문 반복  > j 가 5가되서 false 가 뜨면 i++ 실행 > 이후 반복