본문 바로가기

Language/JavaScript33

[JavaScript] 강제적 형변환(type coercion) 형변환에는 명시적 형변환(type conversion)도 있지만, 강제적 형변환(type coercion)도 존재하게 됩니다. 명시적 형변환(type conversion)이란, 명시적으로 어떤 변수 형태를 바꿀지 결정하게 됩니다. console.log('I am ' + String(25) + ' years old'); 이 경우 25인 number가 String 으로 명시적 형변환을 하게 되어 문자열로 인식하게 됩니다. 강제적 형변환(type coercion) 도 존재하게 됩니다. console.log('I am ' + 25 + ' years old'); + 연산은 모든 것을 숫자로 바꾸는 것은 아니다. 이 경우 문자열(String) + 숫자 + 문자열(String)이 되기 때문에 가운데 있는 숫자가 강제.. 2021. 1. 4.
[JavaScript] 스프레드(spread) 문법 스프레드(spread) 객체 혹은 배열을 펼칠 수가 있다 문법: 배열을 빠져나온다. const fruit = { name: '과일' }; const greenfruit = { name: '과일', color: 'green' }; const greenmelonfruit = { name: '과일', color: 'green', attribute: 'melon' }; console.log(fruit); console.log(greenfruit); console.log(greenmelonfruit); 먼저, fruit 라는 객체를 선언한다음, greenfruit 객체를 만들었습니다. 이때 greenfruit는 name: '과일' 을 그대로 두고, 새로운 객체를 만들어서 사용하였습니다. 그 이후, greenmel.. 2020. 9. 23.
[JavaScript] 호출 스택과 이벤트 루프 호출 스택 함수가 호출() 될 때 호출스택에 들어간다고 생각하고 끝날 떄 }를 나간다고 생각하면 편하다. 다만 호출 스택으로 설명이 안되는 것이 있다 바로 setInterval(tick, 2000) 이다. 호출 스택, 백그라운드(노드 내부 엔진), 태스크 큐(백그라운드에서 보낸 콜백들이 실행 대기중)로 구성되어 있다 먼저 setInterval(tick, 2000) 함수가 호출스택에서 실행된다. 실행이 끝나면 호출스택에서 사라진다. 백그라운드에서 tick이 2초마다 호출스택에 다시 넣어준다. 호출스택에 넣어줘야 다시 실행이 되기 때문이다. 백그라운드에 여러개의 작업들이 들어가 있을 수 있다. ex) 이벤트리스너, 프로미스 등등 콜백함수가 비동기적으로 실행될 수 있게 대기중이다. 이벤트 루프: 무한루프처럼 .. 2020. 9. 19.
[JavaScript] for, forEach for 초깃값(index) 부터 시작해서 조건(condition)을 만족시킬 때까지 증가 또는 감소(final-expression)하면서 계속 반복합니다. for( 초기값; 조건; 증감;){ statement } for(var i = 0; i < 10; i++){ console.log(i); } forEach는 for문과 마찬가지로 반복적인 기능을 수행할 때 사용합니다. 하지만 for문처럼 index와 조건식, increase를 정의하지 않아도 callback 함수를 통해 기능을 수행할 수 있습니다. forEach forEach는 배열 객체 메서드 입니다. forEach는 for문과 마찬가지로 반복적인 기능을 수행하는데 사용합니다. 하지만 for문처럼초깃값(index) 와 조건(condition), 증가.. 2020. 9. 14.