Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "source": [
- "## Все значения в случае необходимости логического эквивалента могут быть автоматически преобразованы в true/false. undefined, null, 0, NaN, '' и false - превращаются в false. Все остальное - true"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "autoscroll": false,
- "collapsed": false,
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1 is true\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "any object(function as well) is true\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "undefined"
- ]
- },
- "execution_count": 3,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "if (1) { console.log('1 is true'); }\n",
- "if ('') { console.log('empty string is false'); }\n",
- "if (0) { console.log('0 is false'); }\n",
- "if (NaN) { console.log('NaN is false'); }\n",
- "if (null) { console.log('null is false'); }\n",
- "if (undefined) { console.log('undefined is false'); }\n",
- "if ({}) { console.log('any object(function as well) is true'); }"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "source": [
- "## ! - унарный оператор, преобразующий свой операнд в обратное булево значение. Если оригинальное значение интерпретируется, как логическое true - в результате преобразования получаем false."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "autoscroll": false,
- "collapsed": false,
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "!true false\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "!false true\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "!0 true\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "!{} false\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "!\"hello\" false\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "!!1 true\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "!!0 false\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "undefined"
- ]
- },
- "execution_count": 7,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "console.log('!true', !true);\n",
- "console.log('!false', !false);\n",
- "console.log('!0', !0);\n",
- "console.log('!{}', !{});\n",
- "console.log('!\"hello\"', !'hello');\n",
- "console.log('!!1', !!1);\n",
- "console.log('!!0', !!0);"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "source": [
- "## && возвращает первое ложное значение в цепочке, либо последнее значение, если ложных не найдено. || возвращает первое истинное значение, либо последнее в цепочке, если истина не найдена"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "autoscroll": false,
- "collapsed": false,
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "hello\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "undefined"
- ]
- },
- "execution_count": 9,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "console.log(1 && 2 && 3 && 0 && 4);\n",
- "console.log(0 || false || null || 'hello' || 10);"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "source": [
- "## Функции могут присваиваться в переменные в момент создания. В таком случае их называют анонимными функциями."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {
- "autoscroll": false,
- "collapsed": false,
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "hello world\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "undefined"
- ]
- },
- "execution_count": 11,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "var f = function() { console.log('hello world'); }\n",
- "f();"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "source": [
- "## Объекты позволяют указывать ключи без кавычек в момент создания, если сам ключ удовлетворяет правилам именования переменных. Извлекать значение по такому ключу в будущем можно как с помощью квадратных скобок, так и с помощью точки. Все ключи в момент сохранения преобразуются в строки, потому 1, 1.0, 10e-1, 0.1e1 и \"1\" - это один и тот же ключ."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {
- "autoscroll": false,
- "collapsed": false,
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "{ '0': 0, 'hello world': 1, bye_world: 2 }\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 0 0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2 2\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "undefined"
- ]
- },
- "execution_count": 13,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "var ob = {0: 0, 'hello world': 1, bye_world: 2};\n",
- "console.log(ob);\n",
- "console.log(ob[0], ob['0'], ob[0.00]);\n",
- "console.log(ob['hello world']);\n",
- "console.log(ob['bye_world'], ob.bye_world);"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "source": [
- "## Ключи объекта могут указывать на анонимные функции. В таком случае оказывается крайне удобным использование this, так как функция сразу встроена в объемлющий объект."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {
- "autoscroll": false,
- "collapsed": false,
- "ein.tags": "worksheet-0",
- "slideshow": {
- "slide_type": "-"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "6\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "undefined"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "var counter = {\n",
- " count: 0,\n",
- " increaseCounter: function() {\n",
- " ++this.count;\n",
- " }\n",
- "}\n",
- "console.log(counter.count);\n",
- "counter.increaseCounter();\n",
- "counter.increaseCounter();\n",
- "counter.increaseCounter();\n",
- "counter.increaseCounter();\n",
- "counter.increaseCounter();\n",
- "counter.increaseCounter();\n",
- "console.log(counter.count);"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Javascript (Node.js)",
- "name": "javascript"
- },
- "name": "Untitled.ipynb"
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Add Comment
Please, Sign In to add comment