자바스크립트 문자열
JavaScript에는 에서 설명한 데이터 유형도 있습니다.
가장 많이 사용되는 데이터 유형은 숫자 및 문자열/텍스트입니다.
에서 Numbers에 대해 자세히 다루었습니다.
이 기사에서는 JavaScript의 문자열/텍스트 데이터 유형에 대해 자세히 살펴보겠습니다.
따라서 일부 변수에 이름을 저장하려는 경우 각 문자를 별도의 변수에 저장하거나 모든 문자를 배열에 저장하기 어려울 것입니다.
C 언어는 문자 배열을 사용하여 문자열을 나타냅니다.
JavaScript는 일련의 문자, 즉 문자열을 나타내는 별도의 데이터 유형을 제공합니다.
JavaScript에서 문자열이란 무엇입니까?
문자열은 각각 유니코드 문자를 나타내는 16비트 값의 불변 시퀀스입니다.
JavaScript의 문자열(및 배열)은 0부터 시작하는 인덱싱을 사용합니다.
첫 번째 16비트 값은 위치 0에 표시되고 두 번째 16비트 값은 위치 1에 표시되는 식입니다.
그렇다면 문자열의 길이는 얼마일까요?
JavaScript 문자열 길이는 포함된 16비트 값의 수로 계산됩니다.
메모:-
JavaScript에는 단일 16비트 값을 나타내는 특정 데이터 유형이 없습니다.
길이가 1인 문자열로 표시됩니다.
Javascript uses the UTF-16 encoding of the Unicode character set.
The most commonly used Unicode characters are fit into 16-bit and can be represented by a single element.
Unicode characters that don’t fit into 16-bit are encoded using rules of UTF-16 as a sequence(known as “Surrogate pair”) of two 16-bit values. This means JavaScript string with a single character may return length as 2.
Example:-
let dollar = “$”;
let emoji = “🤘”;
dollar.length; // 1
emoji.length; // 2
ES6에서 for 루프로 문자열을 반복하면 "Surrogate pair"인 경우 2개의 16비트 값을 단일 문자로 간주합니다.
문자열 리터럴
문자열을 JavaScript 프로그램에 직접 사용하려면 문자열의 문자를 일치하는 작은따옴표/큰따옴표 쌍으로 묶으십시오.
ES6에서 JavaScript는 백틱(`)을 제공하여 더 간단한 방법으로 문자열을 나타냅니다.
예:-
‘Hello Devs’
“I’m Ganesh.”
The original version of JavaScript required string literals to be written on a single line. And to create a long string it is common to concatenating string using the + operator.
As of ES5, you can break the string into multiple lines by adding a backslash() at the end of the line.
The ES6 made it easier for devs to write a string into multiple lines with backticks, without adding any special characters like(\n).
Examples:-
“Long \
string \
With ES5”
문자열 리터럴의 이스케이프 시퀀스
The backslash character () has a special purpose in Javascript strings. Combined
with the character that follows it, it represents a character that is not otherwise representable within the string.
The backslash () allows you to escape from the usual interpretation of the single-quotes character. Instead of using it as the end of the string, you use it as a single quote.
Example:-
‘Hello, dev\’s you\’re Awesome.’ // => Hello, dev’s you’re Awesome.
A table that represents JavaScript escape sequence.
문자열 작업
If we use the + operator with numbers it adds them, but using the + operator on string results in concatenating 2 strings.
let text = “Hello ” + “world!!!!”;
A string can be compared with ===(equality) or !==(inequality) operators, two strings are equal if they consist of exactly the same sequence of 16-bit values.
A string can also be compared with the <, <=, >, and >= operators.
String comparison is done simply by comparing the 16-bit values.
As I mentioned before the length of a string is the number of 16-bit values it contains.
JavaScript provides a rich API for working with string.
`
let str = "Hello, JavaScript Lovers.";
// Getting portion of the string
str.substring(1, 8); // "ello, J" charates from 1 to 8
str.slice(1, 8); // "ello, J" charates from 1 to 8
str.slice(-4); // "ers." last 4 characters
str.split(','); // ["Hello", " JavaScript Lovers."]
// Searching a string
str.indexOf('J'); // 7 Position of first “J”
str.indexOf('44'); // -1 “44” not present in str
str.lastIndexOf('l'); // 3 Position of “l” from last
// Searching function of ES6 and later
str.startsWith('He'); // true Checks if string starts with “He”
str.endsWith('He'); // false Checks if string ends with “He”
str.includes('JavaScript'); // true Checks if string contains “JavaScript”
// Modifying string
str.replace('JavaScript', 'tea'); // "Hello, tea Lovers." Replaces the maching part of string
str.toLowerCase(); // "hello, javascript lovers." Converts string to lower case
str.toUpperCase(); // "HELLO, JAVASCRIPT LOVERS." Converts string to upper case
// Inspecting individual 16-bit characters of string
str.charAt(0); // “H” Returns character at position 0
str.charAt(str.length - 2); // “s” Getting 2nd last character of string
str.charCodeAt(0); // 72 16-bit number at position 0
str.codePointAt(0); // 72 ES6 - this world for codepoints > 16-bits
// String padding functions in ES2017
"xyz".padStart(6); // " xyz" add spaces on the left of string and make length 6
"xyz".padEnd(6); // "xyz " add spaces on the righ of string and make length 6
"xyz".padStart(6, "#"); // "###xyz" add # as padding
"xyz".padEnd(6, "#"); // "xyz###" add # as padding
// Space trimming functions trim() of ES5 and others from ES2019
" xyz ".trim(); // "xyz" Removes empty spaces from start and end
" xyz ".trimStart(); // "xyz " Removes empty spaces from start
" xyz ".trimEnd(); // " xyz" Removes empty spaces from end
// More string methods
str.concat("!!"); // "Hello, JavaScript Lovers.!!" Same as + operator
"=".repeat(5); // "=====" Repetes characters n times
`
노트:-
JavaScript Strings are immutable. Methods like replace() or toUpperCase() returns new string with resulting value.
템플릿 리터럴
In Es6 and later, strings are represented using backticks.
let str =
안녕. ;
This is more than just another string literal syntax.
Template literals can include arbitrary javascript expression. The final value of string literal in backtick is computed by evaluating any included expression, converting the values of those expressions to a string.
Example:-
2 + 4를 더하면 ${2 + 4}입니다. // "Addition of 2 + 4 is 6."
That’s it for the strings in JavaScript.
I hope you liked this article.
In the next article of this series, I will be covering Expressions and operators part-1.
Hope you like it, if yes **like & share.**
Thanks for your time.
Happy coding….
Reference
이 문제에 관하여(자바스크립트 문자열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ganeshjaiwal/javascript-strings-a00텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)