💪JavaScript

스코프란? 스코프는 사전적인 의미로 범위를 말합니다. 어떤 변수 혹은 값이 제 역할을 할 수 있는 범위를 말하는 것입니다. 우리가 코드를 작성할 때 들여쓰기로 각 영역을 보기 좋게 구분하는 것도 일종의 범위를 보기 위함인데요. const foo = 123 const bar = 'go!' function start(x, y) { return x+y; } 이제 조금 더 자세히 알아보겠습니다. 스코프의 종류 전역스코프와 지역스코프 두가지가 존재합니다. 전역스코프는 코드 전체에서 참조할 수 있는 범위(변수)를 말합니다. 지역스코프는 마치 상자 속 세상처럼 밖에서는 참조할 수 없고 그 안에서만 참조할 수 있는 범위(변수)를 말합니다. 그래서 우리는 전역변수를 함수 속에서도 참조할 수 있으며, 조건문밖에서도 참조할..
함수란? 함수는 입력을 받아 출력을 내보내는 일련의 과정을 의미합니다. 즉 일정한 로직을 코드로 구현하고, 코드상에서는 블록으로 닫아 실행단위로 구분한 것을 말합니다. 함수으 구성요소는 다음과 같습니다. function add (x, y) { return x+y; } add(2, 5); add는 함수의이름을 뜻하고, x와 y는 매개변수를 의미합니다. 그리고 함수가 실행되고 return 키워드를 통해 값을 반환하게 되지요. 함수를 실행할 때 들어가는 2, 5를 인수라고 합니다. 함수를 사용하는 이유 함수는 실행단위로 묶은 코드 블록입니다. 따라서 언제든 원하는 기능을 정의하고 그대로 인수만 바꿔 적용하면 보다 코드를 간결하게 유지할 수 있습니다. 재사용성이 좋다고 할 수 있겠네요. 함수 리터럴 함수도 역시..
원시값 우리는 지난 시간에서 원시값은 변하지 않는 불변의 값이라고 배웠습니다. 자바스크립트에서 변수에 원시값을 할당을 하게 된다면 원시값에 해당하는 메모리를 확보하고 그곳에 원시값을 저장한 뒤 변수에는 메리의 주소를 연결시키겠죠. ... 1000 주소 ... x = 1000 (주소) ... x라는 변수에 1000 값을 할당하려면 1000에 해당하는 메모리를 확보한 뒤 이 메모리의 주소를 변수에 연결하는 것입니다. 하지만 자바스크립트에서는 값을 재할당 할 수가 있는데 이는 어떻게 가능할까요? ... 1000 주소 60 주소 ... x= 60 (주소) ... 이렇게 새로운 메모리를 확보하고 다시 주소를 변수에 연결하는 것입니다. 이렇게 우리는 이해하고 넘어가면 되겠습니다. 그럼 또 다른 상황을 예제로 살펴보..
객체란? 원시타입의 값, 즉 원시 타입값은 변경 불가능한 값입니다. 하지만 객체타입의 값은 변경 가능한 값입니다. var foo = { //프로퍼티 입니다. name : 'jin', gender : 'male' //메소드 입니다. sum : function () { this.name + this.gender; } } 객체리터럴에 의한 생성 객체 리터럴은 중괄호 내에 0개 이상의 프로퍼티를 정의합니다. 변수에 할당되는 시점에 자바스크립트 엔진은 객체 리터럴을 해석해 객체를 생성합니다. const bar = {} 프로퍼티 객체는 프로퍼티의 집합이고, 프로퍼티는 키와 값으로 구성됩니다. 이전에 사용했던 예제를 다시 사용해보겠습니다. var foo = { //프로퍼티 입니다. name : 'jin', gende..
타입변환 암묵적 타입변환 암묵적 타입변환에 대해 배워보겠습니다. 다른 말로는 타입 강제 변환이라고도 합니다. 우리의 의도와는 달리 코드의 문맥을 고려해 암묵적으로 데이터 타입을 강제 변환 시키는 것을 말합니다. 1+'2' //'12' `1 + 2 = ${1+2}` // '1 + 2 = 3' 위의 코드 처럼 숫자리터럴을 강제로 문자리터럴로 바꿀 수도 있습니다. 2-'1' // 1 11 > '9' // true 이전의 코드와는 다르게 문자를 숫자로 바꿀 수도 있습니다. if ('') console.log(1); // if (0) console.log(2); // if ('yes') console.log(3); // 3 if (null) console.log(4); // 이렇게 조건문 속의 값을 평가하고 bo..
제어문은 조건에 따라 코드 블록을 실행 하거나 반복 실행할 때 사용하게 됩니다. 보통의 코드는 탑다운 방식으로 위에서 아래로 읽어나가게 되죠? 하지만 제어문을 사용하게 되면, 작성자의 의도대로 코드를 읽도록 만들 수 있습니다. 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것을 말합니다. 앞으로 코드 블록, 블록 이라고 칭하는 것들은 모두 같은 것입니다. 단독으로도 사용은 할 수 있지만, 일반적으로 다른 제어문이나 함수를 정의할 때 사용합니다. { const foo = 10; } 참고로 중괄호는 이미 자체적으로 종결성을 가지고 있기 때문에 세미콜론은 붙이지 않아도 된다고 했죠? 조건문 if...else 문 if (조건식) { // 조건식이 참일 때 수행할 코드블록 } else { // 조건식이 거짓일 ..
박필중
'💪JavaScript' 카테고리의 글 목록 (4 Page)