[스파르타 코딩] 웹 개발 종합반 1주차(2) - 자바스크립트 기본 문법

김동현·2022년 8월 24일
0

1. 변수

2. 함수, 조건문, 반복문

💡자바스크립트 기본 문법

  • <head><scipt> </script> 사이에 작성한다.
  • <scipt> </script>는 결국 크롬 검사창에 콘솔창과 동일하다.

변수

  • let을 사용하여let 변수명과 같이 변수를 선언할 수 있다.
  • 기본적으로 자바스크립트는 인터프리터가 알아서 변수의 타입을 파악하고 값을 저장해, 변수의 타입을 따로 쓰지 않는다.

ex)

let a = 20

  • 사칙연산, 그리고 문자열 더하기가 기본적으로 가능합니다.

ex)

let a = 1
let b = 2
a+b // 3
-
let first = 'Donghyun'
let last = 'Kim'
first+last // 'DonghyunKim'
first+' '+last // 'Donghyun Kim'
first+a // Donghyun1 -> 문자+숫자를 하면, 숫자를 문자로 바꾼 뒤 수행합니다.
  • 변수를 선언할 때 지켜야하는 룰
    • 변수명의 시작은 문자(a~z, A~Z), 밑줄(_), 달러 기호($)로 시작해야한다.
    • 대문자와 소문자는 구별이 가능하다. (myname과 myName은 다른 변수)
    • 예약어는 사용하면 안된다.(for, if, while...)
    • myname과 같이 변수가 두 단어일 시 관례적으로
      let myName = 'Kim'(camel case, 뒷 단어 대문자) 또는 let my_name = 'Kim'(snake case, 단어 사이 밑줄)을 사용한다.

리스트, 딕셔너리

  • 변수에는 값을 하나 저장할 수 있는데 이런 식으로는 대량의 데이터를 처리하는데 불편하다. 이런 상황에서 리스트를 사용하여 여러개의 값을 분리해서 저장할 수 있습니다.([] 대괄호 사용)
let a_list = ['수박', '참외', '배']
a_list[1] // 출력값 : '참외'

a_list.push('감') // 리스트에 값 추가

let b_list = ['철수', '영희']
a_list.push(b_list)
a_list // 출력값 : ['수박', '참외', '배', '감', Array(2)]
//Array2는 ['철수', '영희']

// 철수를 접근하고 싶다면
a_list[4][0] // 출력값 : '철수'
  • 딕셔너리는 key, value의 짝으로 저장하게 되는데 인덱스를 사용하지 않고 key의 값으로 접근하기 때문에 원하는 값을 찾을때 빠르게 찾을 수 있다.({} 중괄호 사용)
let a_dict = {}  // 딕셔너리 선언. 

let b_dict = {'name':'Bob','age':21} // 선언 및 초기화
b_dict['name'] // 출력값 : 'Bob'
b_dict['age'] // 출력값 : 21

b_dict['height'] = 180 // 딕셔너리에 키:밸류 넣기
b_dict // {name: "Bob", age: 21, height: 180}을 출력
  • 리스트와 딕셔너리를 같이 사용할 수 있다.
names = [{'name':'bob','age':20},{'name':'carry','age':38}]

// names[0]['name']의 값은? 'bob'
// names[1]['name']의 값은? 'carry'

new_name = {'name':'john','age':7}
names.push(new_name)

// names의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]

➕ 특정 문자로 문자열을 나누고 싶을 때 - split()사용

let myemail = 'ehdgus3519@naver.com'
let result = myemail.split('@') // ['ehdgus3519','naver.com']
result[0] // ehdgus3519
result[1] // naver.com
let result2 = result[1].split('.') // ['naver','com']
result2[0] // naver 
result2[1] // com
myemail.split('@')[1].split('.')[0] // naver

함수, 조건문, 반복문

  • 함수란 하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록을 의미한다.
// 기본 구성
function 함수이름(필요한 변수들) {
	내릴 명령들을 순차적으로 작성
}
// 함수 불러오기
함수이름(필요한 변수들);

ex)

// 두 숫자를 입력받으면 더한 결과를 돌려주는 함수
function sum(num1, num2) {
	console.log('숫자', num1, num2);
	return num1 + num2;
}
sum(3, 5); // 8
sum(4, -1); // 3
  • 조건문이란 코드가 순차적으로 실행되지 않고 주어진 조건에 따라 결과값을 출력하는 구문이다.
// 기본 구성
if (조건문)
{
    // if의 조건 해당시 실행
}
else if(조건문){
  	// else if의 조건 해당시 실행
}
else {
    // if와 else if 전부 해당되지 않는 다면 실행
}

ex)

function is_adult(age){
	if(age > 20){  
		alert('성인이에요') // 20세 초과면 출력
	} else if (age > 10) {
		alert('청소년이에요') // 11 ~ 20이면 출력
	} else {
		alert('10살 이하!') //. 11살 넘지 않으면 출력
	}
}
is_adult(12) // 출력값 : 청소년
  • 반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문이다.
for ([초기식], [조건식], [증감식]) {
	실행할 내용
}

ex)

let scores = [
  {'name':'철수', 'score':90},
  {'name':'영희', 'score':85},
  {'name':'민수', 'score':70},
  {'name':'형준', 'score':50},
  {'name':'기남', 'score':68},
  {'name':'동희', 'score':30},
]
for (let i = 0 ; i < scores.length ; i++) {
	console.log(scores[i]);
}
// 리스트 내의 딕셔너리를 하나씩 출력할 수 있다.
for (let i = 0 ; i < scores.length ; i++) {
	if (scores[i]['score'] < 70) {
		console.log(scores[i]['name']);
	}
}
// 점수가 70점 미만인 사람들의 이름만 출력할 수 있다.
profile
오늘은 오늘

0개의 댓글