How to check does string contain a substring in JS?

Some sophisticated tips on popular Java Script issue
07 August 2017   2074
JavaScript

JavaScript is a lightweight interpreted or JIT-compiled programming language with first-class functions

JavaScript Substring

In JavaScript, any text data is a string. There is no separate type of “symbol”, which is in other languages.

You can create string in this way:

var text = "my string";

var anotherText = 'my string 2';

var str = "012345";

In JS, there are 3 methods for taking substring, with slight differences between them: substr, substring, slice.

substring (start, end) method returns a substring from the startposition to, but not including, end.

var str = "stringify";
alert(str.substring(0,1)); // "s"

If there is no end argument, it goes to the end of the line. 

var str = "stringify";
alert(str.substring(2));

How to check, is there a substing in a string? According to Hype.Codes research, there are 6 different ways. 

1. indexOf

var string = "foo",
    substring = "oo";
string.indexOf(substring) !== -1;

String.prototype.indexOf returns the position of the string in the other string. If not found, it will return -1.

2. (ES6) includes 

var string = "foo",
    substring = "oo";
string.includes(substring);

3. search

var string = "foo",
    expr = /oo/;
string.search(expr);

4. lodash includes 

var string = "foo",
    substring = "oo";
_.includes(string, substring);

5. RegExp 

var string = "foo",
    expr = /oo/;  // no quotes here
expr.test(string);

6. Match

var string = "foo",
    expr = /oo/;
string.match(expr);

You can learn bore about stings from a video tutorial.

Visual Studio Code 1.30 Released

The solution has received new features, as well as improved support for JavaScript and TypeScript
14 December 2018   39

Microsoft has released the development environment Visual Studio Code 1.30. The tool has received new features, as well as improved support for JavaScript and TypeScript.

The search tool in the new version of the editor allows you to make multi-line queries. You can add a new line to the query by pressing Shift + Enter or simply by pasting text from the clipboard.

Custom headers and menu items in Linux are now activated by default. Since some menus may go beyond the boundaries of the screen, the developers added the ability to scroll.

Menu items designed to work with the settings have been moved to the title bar of the editor.

In the snippet, new comment variables are implemented, allowing to leave lines or blocks of notes based on the language of the code.

Also, the developers added the Go to Declaration and Peek Declaration commands to Visual Studio Code 1.30 in addition to the existing Go to Definition and Peek Definition. This is due to the fact that in some languages ​​the concepts of definition and declaration are fundamentally different.

In Visual Studio Code 1.30, you can work with TypeScript 3.2.2. Display of callbacks in JavaScript and TypeScript is improved. The new version of the editor displays which function they belong to.

The developers have improved the integration with the repository. In the new version of the program, you can change the tool that opens the file by clicking on the version control panel.

The Visual Studio Code 1.30 error detection and removal tool allows you to delete debug consoles for inactive sessions. Improved concept of variable substitution in launch.json configuration. The initial debug configuration itself has been simplified by hiding minor elements and adding a Quick Pick interface.

You can set the task to run automatically when you open the project folder. In addition, several new tasks have been added to the task management command section, for example, Tasks: Rerun Last Task, which allows you to restart the previous process.