06.08 수 JS 기초 2

이재빈·2022년 6월 8일

AI스쿨_JS

목록 보기
2/18

배운 것

== : 수치만 같음
=== : 자료형까지 같음

var 과 const,let의 차이

name이 이미 선언이 되었다면,
var은 가장마지막에 선언된 것으로 합쳐짐 = 코드량이 많아질수록 큰 단점

var name = 'HTML'
    console.log(name) // HTML

var name = 'javascript'
    console.log(name) // javascript

const, let은 둘다 재선언이 불가능하다면서 에러메세지 뜨게 됨.

const와 let의 차이

immutable 재할당 여부

const r = 5
const r = 10  <재선언, 재할당 불가>
console.log(`넓이 = ${3.14 * r * r}`)
console.log(`둘레 = ${2 * 3.14 * r}`) 
<>
let r = 5
let r = 10 <재선언 불가>
r = 20 <재할당 가능, r의 수치만 바꾼다면 결과를 계속 바꿀  있음>
console.log(`넓이 = ${3.14 * r * r}`) 
console.log(`둘레 = ${2 * 3.14 * r}`)
  • 변수 선언에는 기본적으로 const를 사용,
    재할당이 필요한 경우에 한정해 let 을 사용

  • 재할당이 필요 없는 상수와 객체에는 const 를 사용

  • 객체를 재할당하는 경우 생각보다 흔하지 않다.
    = const 를 사용하면 의도치 않은 재할당을 방지 = 좀 더 안전하다.

  • 재할당이 필요한 경우에 한정해 let 을 사용.
    이때, 변수의 스코프는 최대한 좁게 만든다.

연산자

OR 연산자

  • true || true
    true (true가 있으면 true)
  • true || false
    true
  • false || true
    true
  • false || false
    false

And 연산자

  • true && true
    true (true가 두개일때 true)
  • true && false
    false
  • false && true
    false
  • false &&false
    false

Not 연산자

!로 써서 true와 false를 바꿈

증감연산자

변수(var, let)이 가능하나, const는 상수이므로 성립되지 않는다.

let num = 0
num ++
alert(num)
<값: 1>

alert(num++) -> alert(num)을 실행하고 num에다가 1을 더해주는 것
alert(++num) -> num=num+1 을 하고 alert(num)을 실행하는 것

let num = 0
alert(num++)
alert(num++)
alert(num++)
<출력 0,1,2>

let num = 0
alert(++num)
alert(++num)
alert(++num)
<출력 1, 2, 3>

조건 문

if 문

if(조건식){
			실행문1
			실행문2
    	 }
			실행문3

조건문이 True일때만 실행문이 실행

기젓 : 실행문 3이 실행
참 : 실행문 123이 실행

조건을 두개 쓰지않거나 else문을 안 쓴다면 실행문3은 무조건 실행하게 되기 때문에 주의해야 함.
단순하게 true와 false만 생각할수는 없음

현재 시간과 관련된

getFullYear()
getMonth() +1을 해야 제대로 된 날짜가 나옴
getHours
getMinutes()

현재시간은 몇 시입니다. 그래서 오전입니다. 표현하기

const date = new Date()
const hours = date.getHours()
const minutes = date.getMinutes()
if(hours <12){
    alert("현재 시간은 " + hours + "시 " + minutes + "분입니다. 그래서 오전입니다.")
}
<또는>
if(hours <12){
    alert(`현재 시간은 ${hours}시 ${minutes}분입니다. 그래서 오전입니다.`)
}

중첩 조건문

if(조건문){
	if(조건문){실행문}
	else if(조건문){실행문}
	else{실행문}
}

Switch-case문

switch(값 or 조건문){
					case 조건1:
 					   실행문1
					   break;
    				case 조건2:
    					실행문2
    					break;
    				case 조건3:
    					실행문3
    					break;
    				default: <나머지 else와 비슷함>
   						실행문4
    					break;
					} 

조건문? 실행문1:실행문2

  • 조건문이 참이면 -> 실행문1
    조건문이 거짓이면 -> 실행문 2
    let a = prompt
    조건문? 실행문1:실행문2
    (a>10) ? alert("a는10보다크다") : alert("a는 10보다 작다")
	 const ivalue = prompt("숫자를 입력")
     const num = Number(ivalue)
     const result = (num >=0)?'0이상의숫자':'0보다작은숫자'
     alert(result)

소감

로직을 본격적으로 사용하게 되면서 따라가는것도 중요하지만 내가 직접 이해를 해야되는것을 필요한다는 것이 느껴졌다.

profile
안뇽하세용

0개의 댓글