[Javascript] 변수, 타입, 함수

Yuni·2022년 6월 24일
0

코드스테이츠

목록 보기
1/39
post-thumbnail

변수

변수란?

  • 데이터를 보관하는 곳을 메모리라고 한다. 각 메모리의 크기는 동일하며 이름을 변수라고 한다.
    👉 즉, 값을 저장할 수 있는 저장 공간을 변수라고 함

변수의 선언과 할당

  • 변수의 선언과 할당은 반복되는 값을 편리하게 저장하고 꺼내쓰기 위해 사용한다.
  • 메모리의 자리를 확보하는 것을 선언이라고 하며 메모리에 데이터를 넣는 것을 할당이라고 한다.
  • 선언하기 위해 변수명 앞에 let을 사용하고 할당하기 위해 =(대입연산자) 뒤에 값을 대입한다.
  • 변수명에는 공백을 쓸 수 없고 단어의 첫글자는 대문자(카멜케이스)로 쓴다. ex) isChecked
  • 한번 선언했던 변수를 다시 사용할 때는 let을 쓰지 않는다.
  • 할당이 안된 변수는 undefined 정의되지 않았다고 나온다.

타입

타입의 종류

  • string : 문자 타입으로 따옴표 또는 쌍따옴표로 표시 ex) 'hello', "world"
  • number : 음수, 양수 등의 숫자 타입 ex) 123, 456
  • boolean : 참과 거짓의 타입 ex) true, false
  • 배열 : 이름과 인덱스로 참조되는 값의 집합 ex) [1, 2, 3, 4]
  • 객체 : 키과 값으로 구성된 속성의 집합 ex) {name : "kim", age : 12}
  • 함수 : 어떤 작업을 수행하기 위해 설계된 블록 ex) function sayHello(){ console.log("hello")}
  • undefined : 정의되지 않은 값의 타입 ex) undefined

typeof 란?

typeof는 특정한 값의 타입을 확인하기 위해 사용하는 연산자

💡 typeof가 반환할 수 있는 값

undefined, boolean, number, bigint, string, symbol, function, object( null을 포함한 객체들 )

typeof 사용법

// 기본
typeof;

// 응용
typeof "hello"; // string

typeof 123; // number

typeof true; // boolean

typeof [1,2]; // object

typeof {name:"kim"}; // object

function sayHello(){
	console.log("hello);
}  
typeof sayHello; // function

typeof undefined; //undefined

함수

함수란?

  • 작은 기능의 단위이며 키워드, 이름, 매개변수, 바디로 이루어져있다.
  • 함수를 선언하면 함수를 호출할 때마다 함수 내부의 코드가 실행된다.
  • 함수는 리턴값을 필수로 가지며 따로 return을 사용하지 않으면 undefined가 반환된다.

💡 소괄호 안에 값은 함수 선언할 때는 매개변수(파라미터), 함수를 호출할 때는 전달인자(알규먼트)이다.

함수선언식, 함수표현식, 화살표함수

  • 함수 선언하는 방법은 함수선언식, 함수표현식, 화살표함수가 있다.
  • 함수표현식과 화살표함수는 변수를 선언하고 ES6에서 도입된 익명함수 할당한다.
  • 화살표 함수는 내부에 리턴문만 있으면 리턴과 중괄호를 생략할 수 있다.
// 함수선언식
function plus(a, b){
	return a + b; 	 
}

// 함수표현식
let sum = function(a, b) {
	return a + b;  
} 

// 화살표함수
let sum = (a, b) => {
 	return a + b 
}  

let sum = (a, b) => a + b 

자바스크립트 기초를 배운 적이 있어서 아는 내용도 있었지만 모르는 내용도 있어서 겸손한 마음으로 학습을 해야겠다고 다짐했다. 동기분들의 블로그를 둘러봤는데 강의로 학습한 내용에서 그치지 않고 관련 지식을 검색해서 내용을 보완하는 분들이 있어서 나도 더 노력해야겠다는 생각을 했다.

페어 프로그래밍을 진행했는데 네비게이터 역할을 할 때가 조금 어려웠다. 정답을 말하지 않고 드라이버가 코드를 작성하도록 방향을 제시해주어야 했는데 실제로 말로 표현하기가 쉽지 않았다. 앞으로 있을 페어 프로그래밍에서는 이 부분에 더 신경써서 진행해야겠다.

profile
배운 것을 기억하기 위해 기록합니다 😎

0개의 댓글