chapter1.[변수]
:데이터 보관함에 이름을 붙인 것, 이름이 붙은 값
:각 데이터 보관함(메모리)의 크기는 같음
-선언(declaration)
:let 변수;
:변수 확보
:선언은 한번만!
let age;
var x;
statement: 실행 구문
프로그램은 statement의 집합이라 할 수도 있다.
리터럴
:실생활에 사용하는 데이터를 해당 데이터에 맞게 코드상으로 표현하는 것
ex)문자열인지 아닌지
-할당(assignment)
:변수에 데이터 저장
age = 12;
->이 때 '='는 같다는 의미가 아니라 데이터를 저장한다는 의미로 사용됨, 대입
let
:재할당가능
const
:재할당 불가능
->선언과 할당은 동시에 가능
let name = 'kim';
-expression
:코드 한 줄을 의미, 변수와 특정값을 이용한 연산
-선언과 할당을 헷갈리지 않기
chaper1-2 변수의 선언
-expression
:표현식에서 여러 변수를 사용할 수 있다.
-결과를 다시 변수로 담을 수 있다.
-변수명에는 공백을 쓸 수 x
Camel Case: 변수명엔 공백을 쓸 수 없으므로, 보통 단어의 첫 글자를 대문자로 써 붙인다.
낙타 등 모양처럼 생겨서 Camel Case라 함. ex)areaOfCircle
-한번 선언했던 변수를 다시 사용할 시에 let은 사용하지 않음.
변수 이름은 정하는 규칙
- 하이픈(-)사용 불가
- 첫 글자로 숫자 사용 불가
- 띄어쓰기 사용 불가
- 자바스크립트 예약어 사용 불가
ex)w3school참고
Chapter2.타입
타입: 변수에는 다양한 타입이 있다!
숫자/ 문자열/ 불리언/ 서로 섞인 타입(자료형)
문자열(string)
:텍스트 데이터를 나타낼 때 사용
불리언(Boolean)
:참과 거짓을 판단하는 타입
:논리 요소를 나타내며 true와 false 두가지의 값을 가질 수 있음.
배열:순서가 있는 집합
자료형
:배열과 객체형
배열
:순서가 있는 집합
let fruits = ['banana', 'apple', 'pineapple'];
객체형
:
let person = {name: 'Steve', age: 32, isStudent: true};
+undefined도 타입, 함수도 타입
undefined 타입
:값을 할당하지 않은 변수는 JavaScript가 임의로 undefined라는 값을 할당합니다.
null타입
:
Null 타입은 null 하나의 값만 가질 수 있음(x)
typeof
:자바스크립트에서 typeof 연산자로 타입을 확인해볼 수 있음
typeof 값;
console.log(typeof 1) // ----- (1)
console.log(typeof '1') // ----- (2)
console.log(typeof (1 < 2)) // ----- (3)
변수에 할당한 값도 typeof 연산자로 타입을 확인할 수 있음
let number = 1;
console.log(typeof number) // --- (1)
let string = '1';
console.log(typeof string) // --- (2)
Chapter3.함수
함수
:논리적인 일련의 작업을 하는 하나의 단위, 코드의 묶음, 기능의 단위, 압력과 출력간의 매핑(mapping), 반드시 돌아온다(return)
A. 함수는 기능의 단위입니다.
B. 함수는 반복적인 기능을 저장해 두었다가 필요할 때마다 호출하여 사용할 수 있으므로, 일종의 즐겨찾기 기능이라고 할 수 있습니다.
C. 함수는 반드시 돌아 옵니다. (return)
D. 함수에는 구체적인 입력값과 출력값이 존재합니다.
함수 표현식 평가
함수를 이용하여 구구단 출력하기
function mulTablePrinter(num) {
console.log(num * 1);
console.log(num * 2);
console.log(num * 3);
console.log(num * 4);
console.log(num * 5);
console.log(num * 6);
console.log(num * 7);
console.log(num * 8);
console.log(num * 9);
}
mulTablePrinter라는 이름의 함수가 선언
선언이 된다는 것은 특별한 저장소에 함수 내부의 코드가 저장된다는 것을 의미.
mulTablePrinter 함수는 num이라는 변수를 매개변수로 받아서, num에 1에서 9까지의 숫자를 곱한 값을 각각 출력.
mulTablePrinter(2)
2
4
6
8
10
12
14
16
18
함수의 기초
함수란?
함수 내부에서 return을 한 경우
->출력값이 return 문의 값
함수 내부에서 return을 하지 않은 경우
->출력값이 undefined
함수는 지시사항들의 묶음.
각 방법에 대한 차이점은?
-함수표현식
1.먼저, 변수 선언 후
2.익명함수를 할당하는 방식
-화살표 함수
1.함수표현식을 기반으로 함
2.변수 선언 후 , function keyword를 화살표(=>)로 표시한 익명함수를 할당
3.함수 본문에 리턴문만 있는 경우 리턴과 중괄호를 생략할 수 있음.
(예제코드 확인해보기)
4.리턴문에서 소괄호를 사용할 수 있음.
5.만약 함수 내의 표현식이 2줄 이상인 경우, 중괄호와 리턴을 명시적으로 쓰는 것이 좋음.
함수의 호출
선언한 함수를 계속적으로 사용하기 위해. 명령실행
매개변수:함수 선언할 때 매개변수, 함수 실행할 때 바뀔 수 있음. let등의 키워드 쓰지 않고 사용가능.
전달인자:함수 호출할 때 전달해주는 값, 함수 호출할 때 매개변수에 할당되는 값.
정확한 기술용어 사용!!
자바스크립트에서 ==는 잊어도됨(예외사항들이 존재하기 때문)
=== : 동치연산자
변수 선언만하고 할당안하고 뒤에서 할당하는 경우도 있음
let thing = '두루마리 휴지',
num = 3 ;
NaN:not a number
->타입은 넘버
undefined: 자바스크립트의 특징
타입을 표시할 경우 Number 대문자로 표시를 많이함. 콘솔창에서는 number로 나오긴함
넘치는 전달인자는 무시됨
함수내부에서 베이스와 사이드는 선언된것이고
function square (base, side) {
console.log('side는 ' + side)
}
undefined
square(3)
side는 undefined
undefined
값-타입(원시자료형:string, number,boolean/참조자료형)
의사코드 작성!!
null type:아무런 값 없음
undefined vs null
undefined:공간은 있는데 할당이 되어있지 않은 것
null:아무것도 없는 상태