JavaScript 16

[JavaScript] == (느슨한 비교) 와 === (엄격한 비교)

JavaScript에서는 두 가지 비교 방식이 있다.== 는 느슨한 비교 (loose equality)라고 불리며, === 는 엄격한 비교 (strict equality)라고 한다. 1. == 느슨한 비교타입 변환을 수행한 후 값이 같은지 비교한다JavaScript는 == 를 사용할 때, 비교 대상의 타입이 다르면 암묵적 형 변환을 통해 타입을 맞추려고 시도한다.예상치 못한 결과를 초래할 수 있으므로 주의가 필요하다예시:5 == "5" // true - "5"가 숫자 5로 변환되어 비교false == 0 // true - false가 0으로 변환되어 비교null == undefined // true - 둘 다 비어 있는 값으로 간주[] == false // true - 빈 배열이 falsy로 평가 2. ..

JavaScript 2024.11.09

[JavaScript] Truthy와 Falsy 값

JavaScript에서는 조건문(if 문 등)에서 특정 값이 참인지 거짓인지 판단한다.Truthy와 Falsy 개념은 JavaScript가 다양한 데이터 타입을 암묵적으로 불리언 값으로 변환할 수 있도록 해주는 중요한 개념이다. 1. Falsy 값Falsy 값은 JavaScript에서 거짓으로 평가되는 값이다.false0 (숫자)"" (빈 문자열)nullundefinedNaN (Not-a-Number)2. Truthy 값Falsy가 아닌 값들은 모두 Truthy로 평가된다. 대표적으로 다음과 같은 값들이 있다.true숫자 (0이 아닌 모든 숫자, 음수 포함)"hello" (빈 문자열이 아닌 문자열)빈 배열 [] 또는 빈 객체 {}함수 주의사항Truthy와 Falsy 개념은 JavaScript의 암묵적 형..

JavaScript 2024.11.09

[JavaScript] 변수 선언하기: ver, let, const

JavaScript의 변수 선언: var, let, const 차이점JavaScript에서는 변수를 선언할 때 var, let, const 세 가지 키워드를 사용할 수 있다.각각의 키워드는 스코프, 재할당 가능 여부, 그리고 호이스팅 동작 방식에 차이가 있어 적절한 상황에서 선택하는 것이 중요하다. 1. varvar 는 JavaScript의 초기부터 사용된 변수 선언 방식이다. 하지만 몇 가지 특이한 동작 방식 때문에 현재는 잘 사용되지 않으며, let 이나 const 가 더 많이 사용된다.스코프: 함수 스코프(function-scoped)- var 로 선언된 변수는 함수 내에서만 유효하며, 블록( { } ) 내부에서 선언해도 함수 전체에 접근이 가능하다재할당 가능 여부: 가능호이스팅: 선언과 동시에 초..

JavaScript 2024.11.09

[JavaScript] every() 와 some()

JavaScript의 내장 every 함수와 some 함수는 Array, Iterator, TypedAray에 각각 적용되어, 데이터 유형에 따라 일관되게 조건 검사를 수행할 수 있다.every : 배열의 모든 요소가 조건을 만족할 때만 true 를 반환, 하나라도 조건에 맞지 않으면 false.some : 배열의 요소 중 하나라도 조건을 만족하면 true 를 반환, 모든 요소가 조건에 맞지 않으면 false.every 와 some 모두 콜백 함수를 통해 조건을 정의한다.유의사항Javascipr의 내장 every 와 some 함수는 Array와 TypedArray에서만 직접 사용할 수 있다이터레이터 객체 (Map, Set 등)에는 every 와 some 함수가 직접 제공되지 않으므로, 이터레이터의 값을 ..

JavaScript 2024.11.09

[JavaScript] _. 표기법과 Lodash 함수 사용하기

왜 _. 로 시작할까?JavaScript에서 _. 로 시작하는 함수들을 보면, 이는 대부분 Lodash 또는 Underscore.js 라이브러리에서 제공하는 유틸리티 함수임을 의미한다._. 표기법은 JavaScript 기본 함수와 구별되며, 이 라이브러리들이 제공하는 강력한 유틸리티 함수들을 직관적으로 사용할 수 있도록 도와준다. _. 표기법의 주요 장점_. 은 Lodash 함수들을 가리키며, 다양한 데이터 조작 함수를 간단하게 사용할 수 있다.예를 들어, _.map(), _.filter(), _.isEmpty() 와 같이 데이터를 변환하고 조건을 검사하는 함수들이 자주 사용된다.const array = [1, 2, 3, 4];console.log(_.map(array, n => n * 2)); // [..

JavaScript/기본 2024.11.09

[JavaScript] JavaScript로 PC/모바일 구분하기

핸드폰으로 웹페이지에 접속하면, 내 화면에 딱 맞춘 메인 페이지가 뜨는 경우가 많다.  대표적으로 네이버를 예로 들면,  주소창에 http://www.naver.com을 입력해도 자동으로 http://m.naver.com으로 리디렉션된다.그리고 페이지 맨 아래 있는 “PC 버전” 버튼을 눌러야지만  비로소 깨알 같은 글씨의 PC 페이지에 접속할 수 있다.그런데 네이버는 어떻게 내가 모바일인지, PC인지 알아내는 걸까? 🛠 F12 개발자 도구로 확인해보자 브라우저에서 F12를 눌러 개발자 도구를 열고,  콘솔 창에 아래를 입력해보자:navigator 🧭  Navigator와 User AgentNavigator 객체는 브라우저의 다양한 정보들을 담고 있다.이 중 우리가 집중해야 할 부분은 바로 userA..