2022년 4월 4일자로 시작한 스파르타 코딩 클럽의 [왕초보] 나만의 수익성 앱, 앱개발 종합반 12회차 수업.
오늘부터 차근히 개발 일지를 적어나가 보기로 한다.
let 옆에 변수를 주기
let num = 20
console.log(num)
20
let num = 100
console.log(num)
100
변수는 재할당이 가능
위에서 20을 선언했지만 아래에서 100을 선언하면 변수는 100으로 변경된다
숫자변수는 사칙연산이 가능
let a = 1
let b = 2
let c = a + b
console.log(c)
3
console.log(a*b)
2
데이터의 형태는 숫자와 문자 두개가 가능하다.
'', "" 형태
let first = 'Chaerin'
let last = 'Lim'
console.log(first + last)
console.log(first + " " + last)
Chaerin Lim
이 때 공백 역시 취급한다.
카멜케이스-컨벤션이 하나 있는 경우
스네이트케이스-언더바_를 사용한 경우
let firstName
let first_name
const 선언 변수는 오로지 그 숫자를 가지게 됨
값을 재할당할 수 없음
->변경이 되면 안되는 변수, 중요한 값에 const를 안전하게 사용
let num = 100
const num2 = 1000
num = 200
num2 =2000
console.log(num)
console.log(num2)
Uncaught TypeError: Assignment to constant variable.
at <anonymous>:5:6
let a_list = [1,2,3,4,'kim',6,'chaerin']
console.log(a_list[4])
kim
리스트의 순서는 0번으로 시작한다.
때문에 인덱스 안에는 0부터 센 맞는 숫자를 선언해야함
리스트에 새로운 값을 부여하고 싶을 때는?
->push를 사용하면 기존에 있는 리스트에 하나의 값을 추가 가능
a_list.push('sparta')
console.log(a_list)
(8) [1, 2, 3, 4, 'kim', 6, 'chaerin', 'sparta']
리스트의 몇개의 값이 있는 지 보고 싶을 때?
-> length 부여하면 바로 값 확인 가능
a_list.length
8
딕셔너리는 마치 전화번호 부와 같은 역할을 함
아래에서는 이름이라는 키(key)값에 맞는 밸류(value) 부여함
let a_dict = {"name":"vegan", "age":30}
console.log(a_dict["name"])
vegan
딕셔너리에서도 마찬가지로 후에 값을 추가 가능
위의 값에 신장을 추가해 보자.
a_dict["height"] = 200
console.log(a_dict)
{name: 'vegan', age: 30, height: 200}
리스트와 딕셔너리는 복합해서 사용할 때 그 쓰임이 좋다!
let names = [{'name':'vegan', 'age':30},
{'name':'vegan2','age':30}]
console.log(names)
(2) [{…}, {…}]
0: {name: 'vegan', age: 30}
1: {name: 'vegan2', age: 30}
length: 2
[[Prototype]]: Array(0)
names.push({name: 'vegan3', age: 30})
3
마찬가지로 push로 추가 가능
위와 같이 전화번호부를 만들어 둔 후 1번째의 age 값을 꺼내고 싶을 때는?
names[1]['age']
30
나눗셈의 나머지 구하기 -> %
let a = 20
let b = 7
console.log(a % b)
6
console.log(a/b)
2.857142857142857
대문자 만들기 UpperCase
let myname = 'spartacodingclub'
myname.toUpperCase() // SPARTACODINGCLUB
문자열 나누기 split
@를 기준으로 나누는 경우
let email = "vegan@gmail.com"
console.log(email.split('@'))
['vegan', 'gmail.com']
잘라낸 문자열을 불러오기
console.log(email.split('@')[1])
gmail.com
------
console.log(email.split('@')[1].split('.'))
['gmail', 'com']
------
console.log(email.split('@')[1].split('.')[1])
문자열 나누기
let txt = "서울시-마포구-망원동"
let names = txt.split('-')
console.log(names)
['서울시', '마포구', '망원동']
문자열 합치기 join/concat
console.log(names.join('>'))
서울시>마포구>망원동
함수 y = f(x)
y는 x값에 의해서 달라지는 것
function funcName(){
console.log("함수")
}
funcName()
함수
함수를 만들기
function funcNum(num1,num2) {
console.log(num1+num2)
}
funcNum(10,20)
30
function sum(num1,num2){
console.log(num1,num2)
}
sum(10,20)
---------------
function sum(num1,num2){
console.log(num1 + num2)
}
sum(10,20)
return을 사용한 선언 방식
function minus(num1,num2){
return num1 - num2
}
let result = minus(100,10)
console.log(result)
90
리터럴 함수 방식
변수에 함수를 전달/정의
그 함수 자체에 변수를 넣어줌
변수가 함수 역할을 하게 해줌
let a = function(){
console.log('리터럴 함수 방식')
}
a()
리터럴 함수 방식
function is_adult(age){
if(age > 20){
console.log('adult')
}else if(age > 10){
console.log('teens')
}else{
console.log('kids')
}
}
is_adult(30)
adult
-----------
is_adult(17)
teens
-----------
is_adult(7)
kids
And 모두가 참이여야지 출력 가능
or 둘 중에 하나만 참이여도 출력
// AND 조건은 이렇게
function is_adult(age, sex){
if(age > 20 && sex == '여'){
alert('성인 여성')
} else if (age > 20 && sex == '남') {
alert('성인 남성')
} else {
alert('청소년이에요')
}
}
// 참고: OR 조건은 이렇게
function is_adult(age, sex){
if (age > 65 || age < 10) {
alert('탑승하실 수 없습니다')
} else if(age > 20 && sex == '여'){
alert('성인 여성')
} else if (age > 20 && sex == '남') {
alert('성인 남성')
} else {
alert('청소년이에요')
}
}
is_adult(25,'남')
for( let i=0; i<10; i++)){
console.log(i)
}
//i는 0 부터 시작이 되고, 10보다 작은 숫자로 증가, 1씩 증가시킬 것이다.
0
1
2
3
4
5
6
7
8
9
리스트 내의 딕셔너리를 하나씩 출력
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]);
}
점수가 70점 미만인 사람들의 이름만 출력
for (let i = 0 ; i < scores.length ; i++) {
if (scores[i]['score'] < 70) {
console.log(scores[i]['name']);
}
}