[TIL]221216

grace·2022년 12월 16일

TIL/WIL

목록 보기
11/37
post-thumbnail

What I Learned Today

직사각형 별찍기

  • 정규식 n\ 은 줄바꿈 정규식
  • Number(object) : 문자열을 숫자로 변환하는 함수
    object : 문자열 또는 문자열을 값으로 하는 변수 등을 입력하며 숫자로 변환할 수 없는 값인 경우 NaN을 반환
    그렇다면 문자열을 숫자로 변환하는 함수는 Number()만 있나~? parseInt() 도 있다~!
  • spilt : 문자열을 일정한 구분자로 잘라서 배열로 저장하기 위해서 split() 함수를 사용한다.

ex.

let str = 'HTML,CSS,JavaScript';
let words = str.split(',');
// 결과 : ['HTML', 'CSS', 'JavaScript']

// words[0] : 'HTML'
// words[1] : 'CSS'
// words[2] : 'JavaScript'

가운데 글자 가져오기

  • Math.floor() : 소수점 이하를 버림한다.
  • Math.ceil() : 소수점 이하를 올림한다.
  • Math.round() : 소수점 이하를 반올림한다.

문자열을 정수로 바꾸기

  • Array.includes(값)
    배열에서 값이 존재하면 true
    배열에서 값이 존재하지 않으면 false

Key Concepts

for문

for(초기식; 조건식; 증감식) {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
}

대표적인 반복 수행 코드!

for(let i = 0; i < 10; i++) {
	console.log(i);
}

for in 문

해당 객체가 상속 받는 프로토타입(객체object= 변수 자료구조 함수 메소드) 체인상의 모든 프로퍼티(프로그래밍)키를 열거한다.

for(const key in 객체) { 반복 수행 코드 }

const obj = {
	name :  'kim',
    job : 'engineer'
}

for(const key in obj) {
	console.log(`${key} : ${obj[key]}`);
}
//name: kim
//job : engineer

for of 문

for(const item of 이터러블) { 반복 수행 코드}
const arr = [1,2,3];
for (const item of arr) {
	console.log(item);
}
//1,2,3

if ~ else


if (조건) {
  	statement1
} else {
  	statement2
}

Code Snippets

Number()와 parseInt()의 차이점은 무엇일까?

  • Number()는 오로지 숫자 타입의 문자열만 Number 타입으로 변환,Number()는 소수점을 표시할 수 있음
  • parseInt()는 2번째 파라미터를 이용하여, 문자열을 2진법, 16진법 숫자를 10진법으로 변환할 수 있다.
    null, boolean, empty string 등의 처리에 차이가 있다.
	// Number()
	const num1 = Number(); // 0
	const num2 = Number(true); // 1
	const num3 = Number(null); // 0
	const num4 = Number(''); // 0

	// parseInt()
	const int1 = parseInt(); // NaN
	const int2 = parseInt(true); // NaN
	const int3 = parseInt(null); // NaN
	const int4 = parseInt(''); // NaN

	// 결과 출력 : Number()
	document.write("Number() : " + num1 + "<br>");
	document.write("Number(true) : " + num2 + "<br>");
	document.write("Number(null) : " + num3 + "<br>");
	document.write("Number('') : " + num4 + "<br><br>");

	// 결과 출력 : parseInt()
	document.write("parseInt() : " + int1 + "<br>");
	document.write("parseInt(true) : " + int2 + "<br>");
	document.write("parseInt(null) : " + int3 + "<br>");
	document.write("parseInt('') : " + int4 + "<br><br>");	 

What is [] + [] in JavaScript?


{} + {}
//NaN

[] + []
//''

{} + []
//0

[] + {}
//[Object object]

let a = [] + {}
//a
//[Object object]

let b = {} + []
//b
//[Object object]


Challenges Experienced

항해99 2W 알고리즘 마라톤🏃 시작!...는 나는 걷는 중🚶
그래도 이렇게 몰입해서 알고리즘 풀어본 적이 있나 싶다. 오후 5시쯤 넘어가면 허리가 아파오고 몸이 배배꼬이지만 그 순간을 참아내니 무아지경으로 문제를 고민하고 하나라도 머릿속에 우겨 넣고 있는 나를 발견한다.

처음에는 문제가 안풀려서 손코딩도 해보고 있는 지식 없는 지식 동원해서 적용해보고 결국에는 멍하니 문제만 바라보다가 성격만 나빠지려고 했는데 그냥 깔끔히 포기하고 다른 사람 코드 짠거를 보고 어떻게 작용하는지 한줄 한줄 뜯어서 씹어보고 다시 풀어보니 이래서 이랬구나 하고 그 다음문제도 앞에 문제를 적용해 보게 되고 알고리즘 푸는 것도 재밌어 졌다.
진도표 보니까 다른 사람들에 비해 저~~ 아래 있는 나이지만...새벽까지 한문제라도 붙잡아 풀다가 일지도 정리하는 내가 대견하다. 꺽이지 않는 마음으로 완주 !이번주 주말까지 1회차 완주하고 월요일부터 스터디원들과 코드 리뷰하면서 2회차 공부하기로 했다.

이번주 반성은...어제 우체국 가느라 찬바람 좀 맞았다고 감기가 걸려버려서 콧물도 줄줄 머리도 지끈지끈해서 감기약을 털어넣었더니 이번에는 너무 졸려서 혼났다..이번 계기로 컨디션 조절 잘하자🤧

profile
미래의 개발자!

0개의 댓글