자바스크립트란?
- 웹 사이트에 움직이는 그림을 그릴 때 쓰이는 작고 가벼운 언어
- 이제는 자바스크립트로 앱 만들기도 가능
기초문법
1) 변수
- console.log(변수)는 개발자 콘솔 창에 괄호 안의 값을 개발자가 보기 편하도록 출력해준다.
- 변수 대입의 의미 : 오른쪽에 있는 것을 왼쪽에 넣는 것 ex) a = 2 (2를 a라는 변수에 넣는다.)
- let으로 변수를 선언
- let first_name (snake case) / let firstName (camel case) -> 특수문자 또는 띄어쓰기 불가능
- const로 변수 선언 -> 변경되지 않아야 할 때. 변수 바뀌지 않음.
2) 리스트 (배열 Array) & 딕셔너리 (객체)
- 리스트
let a_list = [1,2,'hey',3]
undefined
a_list[2]
'hey'
a_list.push('헤이') // a_list에 '헤이' 추가
5
a_list
(5) [1, 2, 'hey', 3, '헤이']
- 딕셔너리
let a_dict = {'name' : 'Bob', 'age' : '21'}
undefined
a_dict['name'] // a_dict.name 으로도 가능
'Bob'
a_dict['age']
'21'
a_dict['height'] = 180 // a_dict에 'height' '180' 추가
180
a_dict
{name: 'Bob', age: '21', height: 180}
- 순서를 표시할 수 있고 정보를 묶어 깔끔하고 보기 좋게 표시 가능
3) 기본 제공 함수
- 나눗셈의 나머지를 구하고 싶은 경우 a%b
- 모든 알파벳을 대문자로 바꾸고 싶은 경우 .toUpperCase
- 특정 문자로 문자열을 나누고 싶은 경우 .split('특정문자')
- 특정 문자로 합치고 싶은 경우 .join
let a=20
let b=7
a%b
6
let myname = 'spartacodinclub'
myname.toUpperCase()
'SPARTACODINCLUB'
let myemail = 'sparta@gmail.com'
myemail.split('@')
(2) ['sparta', 'gmail.com']
myemail.split('@')[1].split('.')[0]
'gmail'
let txt = '서울시-마포구-망원동'
let names = txt.split('-')
let result = names.join('>');
names
(3) ['서울시', '마포구', '망원동']
result
'서울시>마포구>망원동'
4) 함수
- 기본 생김새
//만들기
function 함수이름(필요한 변수들){
내릴 명령들을 순차적으로 작성
}
//사용하기
함수이름(필요한 변수들);
//예시
function sum(num1, num2){
console.log('num1: ', num1, ', num2: ', num2);
return num1 + num2;}
sum(3, 5)
num1: 3 , num2: 5
8
sum(4,-1)
num1: 4 , num2: -1
3
let result = sum(10,10)
console.log(result)
num1: 10 , num2: 10
//다른 방식
let a = function(){
console.log("리터럴 방식")
}
a()
5)조건문
function is_adult(age){
if(age > 20){ // 첫번째 조건 if
alert('성인이에요')
} else if (age > 10) { // 그 다음 조건부터는 else if
alert('청소년이에요')
}
else { // 마지막 조건(위의 조건이 아닌 것들)은 else
alert('10살 이하!')
}
is_adult(12) // 청소년이에요!
//AND조건과 OR조건
function is_adult(age, sex){
if (age > 65 || age < 10) { // or 은 ||
alert('탑승하실 수 없습니다')
} else if(age > 20 && sex == '여'){ // and 는 &&
alert('성인 여성')
} else if (afe > 20 && sex == '남'){
alert('성인 남성')
} else {
alert('청소년이에요')
}
}
is_adult(25,'남') // 성인 남성
6) 반복문
for (1. 시작조건; 2. 반복조건; 3. 더하기) {
4. 매번실행
}
for (let i = 0; i < 100; i++){
console.log(i)
}
//0번째 부터 시작해 100미만까지 i를 1씩 증가시킨다(i++ : 후순위 연산자)
//예시
let people = ['철수','영희','민수','형준','기남','동희']
for (let i = 0 ; i < people.length ; i++) {
console.log(people[i])
}
//i가 1씩 증가하면서 다음 순서인 요소들을 차례로 출력
철수
영희
민수
형준
기남
동희
//예시2
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++) {
if (scores[i]['score'] < 70) {
console.log(scores[i]['name']);
}
}
//점수가 70점 미만인 사람들의 이름 출력
형준
기남
동희
7) 합을 구하는 함수 만들기
- 0부터 n-1까지 더하는 함수
function get_sum(n) {
let sum = 0
for (let i = 0; i < n; i++) {
sum += i; // sum을 i만큼 증가시켜라. sum = sum + i 와 동일
}
return sum
}
let result = get_sum(10); // return 결과인 sum이 result에 저장
console.log(result)
45
sum += i 의 원리가 이해하기 좀 어려웠는데
처음은 0+1 = 1 / 1+2 = 3 / 3+3 = 6 / 6+7 = 10 / 10+5 = 15 / 15+6 = 21 / 21+7 = 28 / 28+8 = 36 / 36+9 = 45
그래서 결과는 45로 출력되는 원리였다.
- 배열에서 특정 원소 갯수 구하기
let fruit_list = ['사과','감','감','배','포도','포도','딸기','포도','감','수박','딸기']
let count = 0;
for (let i = 0; i < fruit_list.length; i++) {
let fruit = fruit_list[i]; // fruit은 fruit_list[i]라고 선언
if (fruit == '딸기') {
count += 1;
}
}
console.log(count);
2
- 미세먼지(IDEX_MVL)의 값이 40 미만인 구 이름(MSRSTE_NM)과 값을 출력하기
for (let i = 0; i < mise_list.length; i++) {
let mise = mise_list[i];
if (mise["IDEX_MVL"] < 40) {
let gu_name = mise["MSRSTE_NM"];
let gu_mise = mise["IDEX_MVL"];
console.log("40보다 작은 구: " + gu_name + ", " + gu_mise);
}
}
// 결과는 40보다 작은 구 : 구이름, 미세먼지지수 이런식으로 출력
'코딩공부 > App' 카테고리의 다른 글
| 1주차 숙제 (0) | 2022.12.11 |
|---|---|
| Javascript 2 (0) | 2022.12.11 |
댓글