오늘은 자바스크립트의 기초와 타입, 변수에 대해 공부했다. 어느정도 알고 있는 내용이 있긴 했지만, 그래도 다시한번 꼼꼼히 공부할 기회가 생겨서 좋았다. 내가 안다고 생각했어도 부족한 부분이 분명히 있다. 그러니까 아는 부분이라도 한번 더 정독하고 정말로 아는건지 한번 더 생각해보자. 또 연습문제를 풀때는 자연어로 먼저 의사코드를 작성하는 것을 습관화 하자.
* 오늘 배운 것
자바스크립트 주석 작성
한줄의 경우 // 로, 여러줄의 경우 /* */ 사이에 작성함
// 한줄은 이렇게
/*
여러개는
이렇게
*/
자바스크립트 타입
자바스크립트에는 총 7개의 타입이 있음. 오늘 배운건 Number, String, Boolean 세가지.
자바스크립트의 모든 값은 타입을 갖고 있으며 타입으로 쉽게 분류할 수 있다.
각 타입은 고유한 속성과 메서드를 갖고 있다.
변수
데이터를 편하게 다루기 위해 데이터에 붙이는 이름. 변수를 통해 데이터를 재활용 할 수 있다.
네이밍 규칙
변수의 이름을 지을때 염두에 두어야 하는 규칙.
- 특수문자를 제외한 문자, 숫자, 언더스코어(_), 달러($) 표시를 사용 가능하다.
- 특수문자를 제외한 문자, 언더스코어(_), 달러($)로 시작해야하고, 숫자로는 시작 할 수 없다.
- 자바스크립트의 예약어(프로그래밍 언어에서 사용되고 있거나 사용될 단어)는 변수 이름이 될 수 없다.
(예시: let, const, var, this, true 등)
- 변수의 존재 목적을 이해할 수 있도록 의미를 명확히 표현해야 한다.
카멜 케이스
중간 단어를 대문자로 쓰는 형태
(예시: userName, myScore)
스네이크 케이스
단어와 단어를 언더스코어(_)로 연결하는 형태
(예시: user_name, my_score)
파스칼 케이스
단어의 시작을 대문자로 하는 형태
(예시 : UserName, MyScore)
Number
자바스크립트 타입 중 하나. 정수와 실수를 모두 표현 할 수 있다. 2진수, 16진수등의 숫자도 Number 타입이다.
산술연산자 +, -, *, /, %(나머지) 를 사용할 수있다.
String
자바스크립트 타입 중 하나. 문자열을 표현한다. 따옴표(''), 큰따옴표(""), 백틱문자(``)로 감싸서 사용한다.
Boolean
자바스크립트 타입 중 하나. 사실관계를 구분하기 위한 타입이다. true와 false 두가지 값을 가지고 있다.
엄격한 동치 연산자
===, !== 연산자를 의미한다. 두 피연산자의 값과 타입이 같으면 true, 다르면 false를 반환한다.
값이 같아보여도 타입이 다르면 false를 반환한다.
비교연산자
>, <, >=, <= 연산자. 특정 값을 비교하는데 사용한다. 부등호와 유사하다
논리 연산자
논리곱(AND, &&) : 값이 모두 true여야만 true를 반환한다. 하나라도 false일 경우 false를 반환한다.
논리합(OR, ||) : 값이 하나라도 true라면 true를 반환한다. 모두 false일 경우 false를 반환한다.
논리부정(NOT, !) : 사실관계를 반대로 표현한다. 값이 true라면 false를, false라면 true를 반환한다.
자바스크립트에서 제곱을 표현하는 세가지 방법
let num = 2;
// 1. 같은 값을 두번 곱한다.
let a = num * num;
// 2. 거듭제곱 연산자(**)를 사용한다.
let b = num ** 2;
// 3. Math.pow()를 사용한다.
// Math.pow(밑, 지수)
let c = Math.pow(c, 2);
zero-based numbering
자바스크립트가 0부터 수를 세는 것. 따라서 인덱스(순서)도 0부터 시작한다.
.toUpperCase() / .toLowerCase()
문자열을 각각 모두 영어 대문자로 / 모두 영어 소문자로 바꾸는 메서드.
.slice()
문자열의 특정한 부분을 잘라내는 메서드.
slice(시작인덱스, 잘라낼 개수) 형태로 사용한다.
Math.max()
Number 타입 중 최대값을 반환한다.
Math.floor() / Math.ceil() / Math.round()
내림 / 올림 / 반올림 구하는 메서드
Math.abs()
절댓값 구하는 메서드
Math.sqrt()
제곱근 구하는 메서드
템플릿 리터럴
백틱문자(``)를 사용하는 방법. 문자열 내부에 ${}로 자바스크립트 변수를 삽입할 수 있다. 공백과 줄바꿈을 사용할 수 있다. 가독성 측면에서 매우 우수한 방법이다.
falsy
false는 아니지만 false 처럼 여겨지는 값. 반대로 true는 아니지만 true로 여겨지는 값은 truthy.
falsy의 예) false, 0, -0, 0n, 빈 문자열("", '', ``), null, undefined, NaN
문자열 연결 연산자
문자열과 문자열을 이어붙일 때는 +가 문자열 연결 연산자로 쓰인다.
문자열을 다른 타입과 이어붙이려고 하면 문자열이 반환된다. 그러므로 다른 타입간의 연산을 하지 않도록 조심해야 한다.
'1' + 234; // 1234
1 + 234; // 235
==(느슨한 동치연산자)를 사용하지 않는 이유
==의 경우 타입이 달라도 값이 같다면 true를 반환하는 등, 예외가 많기 때문에 현대의 자바스크립트에서는 사용을 권장하지 않는다.
.length
문자열의 길이를 반환하는 메서드.
변수의 선언과 할당
let 또는 const 키워드와 변수명을 사용해 변수를 선언하고, =(할당연산자)를 사용하여 값을 할당한다.
// 변수 선언
let num;
// 값 할당
num = 10;
// 변수 선언과 할당을 동시에
let name = 'hong gil dong';
var, let, const
let : 재할당이 가능한 변수 키워드.
const : 상수. 재할당이 불가능하다.
var : let과 const가 나오기 이전 사용되던 변수 선언 키워드. var의 단점을 보완하기 위해 let과 const가 나왔다.
NaN
Not a Number. 숫자가 아닌 값에 숫자 타입의 연산을 하려고 하면 반환되는 값이다.
'study > TIL' 카테고리의 다른 글
22.12.20 - 소수 판별, .slice(), 크기 판별 (0) | 2022.12.20 |
---|---|
22.12.19 - 조건문 / 반복문 / 함수 (0) | 2022.12.19 |
22.11.22 (0) | 2022.12.10 |
22.11.18 (0) | 2022.12.10 |
22.11.17 (0) | 2022.12.10 |