본문 바로가기

카테고리 없음

변수, 타입, 함수

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. 함수에는 구체적인 입력값과 출력값이 존재합니다.

 

 

함수 표현식 평가

함수가 호출되면 특별보관함에 저장된 함수의 코드가 조회됨. 함수 코드의 바디에 등장하는 parameter들은 함수 호출시에 전달된 인자의 값으로 바뀜.

 

 

parameter평가가 완료되면 함수코드가 순차적으로 실행됨. 함수가 리턴하면 호출된 장소로 돌아가게됨. 이 때, 함수 호출 코드는 리턴값으로 바뀜.

 

함수를 이용하여 구구단 출력하기

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:아무것도 없는 상태