프로그래밍 언어/JavaScript
[JS] '==' 와 '===' 는 다르다
무엇이 다른가? 저는 자바 언어를 먼저 배운 입장에서 자바스크립트에 깊게 노출되지 않았기 때문에 충격을 받았다. 비록 자바스크립트의 어떤 기능, 사건 처리, 그리고 어떤 jQuery 속임수에 상당히 익숙했지만, 자바스크립트에 대한 미묘한 세부 사항들을 알지 못했다. 다시 마음을 잡고 웹 개발의 기본을 공부하기로 마음 먹은 저는 '==' 와 '===' 연산자의 차이를 알지 못한다고 스스로 말하면서 올바른 생각을 했다. 정답부터 말하자면, '=='와 '===' 연산자의 주된 차이점은, 예를 들어, 숫자를 숫자 리터럴과 비교하면, '=='는 그것을 허용하지만, '===' 두 변수의 형식은 동일하지 않은 경우, 값뿐만 아니라 두 변수의 유형도 확인하므로, 허용하지 않는 것이다. 즉, '==='는 'false'으..
[JS] 자바스크립트의 형변환 (Type Casting)
자바스크립트는 타입이 매우 유연한 언어이다. 때문에 자바스크립트 엔진이 필요에 따라 암시적변환을 혹은 개발자의 의도에 따라 명시적변환을 실행한다. 암시적 형 변환(Implicit type conversion) 암시적 변환이란 자바스크립트 엔진이 필요에 따라 자동으로 데이터 타입을 변환시키는 것이다. 1) 산술연산자 더하기(+) 연산자는 숫자보다 문자열이 우선시 되기 때문에, 숫자형이 문자형을 만나면 문자형으로 변환하여 연산된다. number + number // number number + string // string string + string // string string + boolean // string number + boolean // number 50 + 50; //100 100 + “점”..
[JS] 문자열(String) 객체 정리 (속성 및 메소드)
1. 문자열 객체 생성 및 초기화 var 참조변수 = new String(문자열 데이터) var 참조변수 = 문자열 데이터 ▼ 문자열 객체를 선언하는 방식은 두 가지가 있다. 첫 번째는 new 연산자를 통해 String 객체를 생성하면서 생성자 정보로 문자열 데이터를 넘기는 방식과 new 연산자를 사용하지 않고 선언한 참조 변수에 문자열 데이터를 입력하여 객체를 생성하는 방식이 있다. 2. 문자열 함수 - charAt() 자바스크립트(JavaScript)에서는 문자형 데이터를 객체화한 String 객체를 제공함으로써 그 안에 내장되어있는 속성 및 함수를 통해 다양한 기능을 제공하고 있다. charAt() 함수는 문자열에서 인자로 넘긴 index에 해당하는 문자형 데이터를 반환해주는 함수이다. ▼ Samp..
[JS] 연산자 우선순위
연산자들은 한 명령에서 쓰일 때, 서로간에 우선순위를 가지고 연산됩니다. 수학 연산처럼 괄호가 가장 높은 우선 순위를 갖고, 증감, 산술, 비교, 논리, 대입, 비트 순서로 우선순위를 갖습니다.
[JS] 자바스크립트 console.log 사용 방법 (로그 찍기)
1. 숫자를 인수로 전달 숫자가 console.log() 함수에 전달되면 함수가 이를 표시합니다. 2. 문자열을 인수로 전달 문자열이 함수 console.log()에 전달되면 함수가 이를 표시합니다. 3. 문자를 인수로 전달 문자를 console.log() 함수에 전달하면 함수가 이를 표시합니다. 4. 메시지를 인수로 전달 변수가 아닌 문자열 리터럴을 바로 console.log() 함수의 매개변수로 전달하면 함수는 주어진 메시지를 표시합니다. 5. 함수를 인수로 전달 함수를 console.log() 함수에 전달하면 이는 전달된 function()의 값을 표시합니다. 6. 메시지와 함께 숫자를 인수로 전달 숫자가 console.log() 함수에 전달되면 함수는 주어진 메시지와 함께 숫자를 표시합니다. 7...
[JS] var, let, const의 차이 ⏤ 변수 선언 및 할당, 호이스팅, 스코프
변수 먼저 자바스크립트에서 변수가 무엇인지 알아보자. 변수(variable)는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. const myNumber = 23 // 변수명(식별자): myNumber // 해당 값의 위치(메모리 주소): 0012CCGWH80 // 변수 값(저장된 값): 23 자바스크립트는 매니지드 언어(managed language)이기 때문에 개발자가 직접 메모리를 제어하지 못한다. 따라서 개발자가 직접 메모리 주소를 통해 값을 저장하고 참조할 필요가 없고 변수를 통해 안전하게 값에 접근이 가능하다. 변수명(식별자)인 myNumber는 변수의 값이 아닌 메모리 주소를 기억하고 있다. 변수명을 사용하면, 자바스크립트 엔진이..
[JS] 자료형
기본 자료형 자바스크립트에서는 3가지 기본 자료형(primitive data type)을 지원한다. 문자열: 문자열 자료형은 자바스크립트 내의 텍스트를 표현하며, 문자열은 유니코드 문자의 나열이다. 숫자: 자바스크립트의 모든 숫자(정수와 부동 소수점 수 모두)는 Number 타입이다. 불린: 불린 자료형은 참(true)과 거짓(false)으로 두 가지 값만 있다. 복합 자료형 자바스크립트에서는 다음과 같은 복합 자료형을 지원한다. 객체: 객체는 값의 집합을 나타낸다. 배열: 배열은 순차적인 값의 집합을 나타낸다. 함수: 함수는 실행 가능한 코드가 담긴 특별한 객체다. 특수 자료형 자바스크립트에는 두 가지 특수한 자료형이 정의돼 있다. 널(null): 널은 값이 없을 나타내는 특별한 자료형이다. 미정의 값..
[JS] 변수 자료형
let x; x = 0; // x의 값은 0 // JavaScript는 많은 타입의 변수를 지원한다 x=1; x=0.01; x="hello world"; x='JavaScript'; x=true; x=false; x=null; x=undefined;